diff --git a/resources/langs/nheko_ca.ts b/resources/langs/nheko_ca.ts
index 8de8ee24c4cf0e42349754a9ce022eb86ff65d03..4dac16f9993b6a8ca520e5585dbe7b93837ff322 100644
--- a/resources/langs/nheko_ca.ts
+++ b/resources/langs/nheko_ca.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ca">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,12 +166,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -536,6 +379,16 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>/rainbowconfetti [message]</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2646 +630,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InputBar</name>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>InviteDialog</name>
     <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3718,419 +1584,160 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Removed by %1 because: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
+        <location line="+2"/>
+        <source>Removed by %1 because: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <location line="+1"/>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4790,171 +2429,92 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>descriptiveTime</name>
     <message>
-        <location line="+19"/>
-        <source>Cancel</source>
+        <location filename="../../src/Utils.cpp" line="+208"/>
+        <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>dialogs::FallbackAuth</name>
     <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
+        <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
+        <location line="+1"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
+        <location line="+1"/>
+        <source>Confirm</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
-        <source>Yesterday</source>
+        <location line="+12"/>
+        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>dialogs::FallbackAuth</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
-        <source>Open Fallback in Browser</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Nature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
+        <location line="+2"/>
+        <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>dialogs::ReCaptcha</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Objects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Symbols</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Flags</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_cs.ts b/resources/langs/nheko_cs.ts
index 87ea404f8daa51495cdd2322af81fcf6565a9c40..f7269a02f0e3c428327a7550b3074f51f5038aa9 100644
--- a/resources/langs/nheko_cs.ts
+++ b/resources/langs/nheko_cs.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="cs">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -140,76 +30,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -217,18 +56,28 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -238,7 +87,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -269,12 +118,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -319,12 +168,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -346,7 +195,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -419,16 +268,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -539,6 +383,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -680,47 +534,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -770,7 +611,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -791,2649 +632,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+14"/>
-        <source>New room pack</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+22"/>
-        <source>Private pack</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>InputBar</name>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3465,7 +1329,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3727,421 +1591,160 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Removed by %1 because: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
+        <location line="+2"/>
+        <source>Removed by %1 because: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <location line="+1"/>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4174,8 +1777,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4183,7 +1786,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4252,6 +1855,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4513,12 +2121,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4587,7 +2205,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4639,17 +2271,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4659,14 +2291,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4749,7 +2374,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4759,7 +2394,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4801,171 +2436,92 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>descriptiveTime</name>
     <message>
-        <location line="+19"/>
-        <source>Cancel</source>
+        <location filename="../../src/Utils.cpp" line="+208"/>
+        <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>dialogs::FallbackAuth</name>
     <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
+        <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
+        <location line="+1"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
+        <location line="+1"/>
+        <source>Confirm</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
-        <source>Yesterday</source>
+        <location line="+12"/>
+        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>dialogs::FallbackAuth</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
-        <source>Open Fallback in Browser</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Nature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
+        <location line="+2"/>
+        <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>dialogs::ReCaptcha</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Objects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Symbols</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Flags</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5026,24 +2582,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_de.ts b/resources/langs/nheko_de.ts
index d77eacf14b87015d83dedad4c950bc233af4b97b..e0624cf4619a6593e5b075a879bfa2198d8ca62e 100644
--- a/resources/langs/nheko_de.ts
+++ b/resources/langs/nheko_de.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="de">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Wählen …</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Verbinden …</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Bildschirm wird geteilt.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Bild-in-Bild zeigen/verstecken</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Mikrofon aktivieren</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Mikrofon stumm schalten</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Konnte die Raumadressen nicht aktualisieren: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Aliase für %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Aliase dieses Raumes. Normalerweise kannst du Aliase nur für deinen eigenen Server hinzufügen. Du kannst einen primären Alias und beliebig viele Zweitaliase hinzufügen.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Primärer Alias</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Zum primären Alias machen</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Als einen Alias in diesen Raum bewerben</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Im Raumverzeichnis veröffentlichen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Diesen Alias entfernen</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#neuer-alias:server.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Hinzufügen</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Erlaubte Raumeinstellungen</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Liste der Räume, die Zugriff zu diesem Raum erlauben. Personen in einem dieser Räume können diesen Raum betreten.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Ãœbergeordnete Gruppe</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Anderer Raum</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Weitere Räume eingeben, die noch nicht in der Liste sind…</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 und %n anderer Teilnehmer</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Leerer Raum</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videoanruf</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Sprachanruf</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Kein Mikrofon gefunden.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videoanruf</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Sprachanruf</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Geräte</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Akzeptieren</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Unbekanntes Mikrofon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Unbekannte Kamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Ablehnen</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Kein Mikrofon gefunden.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Ganzer Bildschirm</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Nutzer konnte nicht eingeladen werden: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Eingeladener Benutzer: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Abmelden bestätigen</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>Das Datenbankformat auf der Festplatte ist neuer als die von dieser Nhekoversion unterstützte Version. Bitte update Nheko oder lösche die Datenbank.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Öffnen der Datenbank fehlgeschlagen, du wirst ausgeloggt!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Einladung bestätigen</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Nutzer %1 (%2) wirklich einladen?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Verbannung aufgehoben: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Möchtest du wirklich eine private Konversation mit %1 beginnen?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Migration des Caches fehlgeschlagen!</translation>
     </message>
@@ -347,7 +195,7 @@ Wenn du glaubst, dass das ein Fehler ist, dann kannst du Nheko schließen und vi
         <translation>Inkompatible Version des Caches</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Wiederherstellung des OLM-Accounts fehlgeschlagen. Bitte logge dich erneut ein.</translation>
     </message>
@@ -421,16 +269,11 @@ Du kannst zusätzlich einen Grund angeben, warum die anderen dein Anklopfen anne
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Gib den Grund ein, warum %1 (%2) verbannt wird oder drücke die Eingabetaste, um keinen Grund anzugeben:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Keine Netzwerkverbindung</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;Nachricht&gt;</translation>
     </message>
@@ -539,6 +382,16 @@ Du kannst zusätzlich einen Grund angeben, warum die anderen dein Anklopfen anne
         <source>/rainbowconfetti [message]</source>
         <translation>/rainbowconfetti [Nachricht]</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
@@ -680,6 +533,16 @@ Du kannst zusätzlich einen Grund angeben, warum die anderen dein Anklopfen anne
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Sende eine Nachricht in Regenbogenfarben mit Konfetti.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -696,33 +559,10 @@ Du kannst zusätzlich einen Grund angeben, warum die anderen dein Anklopfen anne
         <translation>Verwandle diese Direktnachricht in einen normalen Chatraum.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Zeige keine Benachrichtigungen für diese Gruppe oder Tag an.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Verstecke Räume dieser Gruppe oder dieses Tags standardmäßig.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Ausklappen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Einklappen</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Alle Räume</translation>
     </message>
@@ -772,7 +612,7 @@ Du kannst zusätzlich einen Grund angeben, warum die anderen dein Anklopfen anne
         <translation>Nachrichten von deinem Server oder Administrator.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Konnte diese Gruppe nicht aktualisieren: %1</translation>
     </message>
@@ -793,2442 +633,600 @@ Du kannst zusätzlich einen Grund angeben, warum die anderen dein Anklopfen anne
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Bestätige den Gruppenbeitritt</translation>
-    </message>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Bestätige den Raumbeitritt</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n Mitglied</numerusform>
-            <numerusform>%n Mitglieder</numerusform>
-        </translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Geheimnisse entschlüsseln</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Möchtest du den Raum betreten? Du kannst unten einen Grund angeben:</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Gib deinen Wiederherstellungsschlüssel oder dein Wiederherstellungspasswort ein, um deine Geheimnisse zu entschlüsseln:</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Dieser Raum kann nicht direkt betreten werden. Du kanns aber anklopfen und die Personen in dem Raum können dich dann reinlassen oder auch nicht. Optional kannst du auch einen Grund angeben, warum sie das tun sollten.</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Gib deinen Wiederherstellungsschlüssel oder dein Wiederherstellungspasswort mit dem Namen %1 ein, um deine Geheimnisse zu entschlüsseln:</translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Anklopfen</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Entschlüsseln fehlgeschlagen</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Beitreten</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Die Geheimnisse konnten mit dem Schlüssel bzw Passwort nicht entschlüsselt werden</translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
-    <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Direktchat erstellen</translation>
-    </message>
-    <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Einzuladender Benutzer</translation>
-    </message>
+    <name>EventExpiry</name>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@nutzer:server.tld</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Verschlüsselung</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Konnte die versteckten Events nicht ändern: %1</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>GridImagePackModel</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Raum erstellen</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HiddenEvents</name>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Name</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Konnte die versteckten Events nicht ändern: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Neue Gruppe</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Alle Dateien (*)</translation>
     </message>
     <message>
         <location line="+0"/>
-        <source>New Room</source>
-        <translation>Neuer Chatraum</translation>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Kein Name</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Das Hochladen von &apos;%1&apos; ist fehlgeschlagen</translation>
     </message>
+</context>
+<context>
+    <name>LoginPage</name>
     <message>
-        <location line="+8"/>
-        <source>Topic</source>
-        <translation>Thema</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Du hast eine ungültige Matrix-ID eingegeben. Beispiel für eine gültige ID: @jonas:matrix.org</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Kein Thema</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Automatische Erkennung fehlgeschlagen. Antwort war fehlerhaft.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Automatische Erkennung fehlgeschlagen. Unbekannter Fehler bei Anfrage .well-known.</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Öffentlich</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Benötigte Ansprechpunkte nicht auffindbar. Möglicherweise kein Matrixserver.</translation>
     </message>
     <message>
         <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Öffentliche Räume können von jedem betreten werden. Private Räume benötigen eine Einladung.</translation>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Erhaltene Antwort war fehlerhaft. Bitte Homeserverdomain prüfen.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Vertrauenswürdig</translation>
+        <location line="+8"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Ein unbekannter Fehler ist aufgetreten. Bitte Homeserverdomain prüfen.</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Alle eingeladenen Personen erhalten die gleichen Berechtigungen wie der Ersteller</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>Der ausgewählte Server unterstützt keine der Matrix versionen, die Nheko versteht (v1.1 bis v1.5). Du kannst dich nicht anmelden.</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Verschlüsselung</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Mit Apple anmelden</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Vorsicht! Die Verschlüsselung kann nicht deaktiviert werden</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Mit Facebook fortfahren</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Geheimnisse entschlüsseln</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Mit Google anmelden</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Gib deinen Wiederherstellungsschlüssel oder dein Wiederherstellungspasswort ein, um deine Geheimnisse zu entschlüsseln:</translation>
+        <source>Sign in with Twitter</source>
+        <translation>Mit Twitter anmelden</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Gib deinen Wiederherstellungsschlüssel oder dein Wiederherstellungspasswort mit dem Namen %1 ein, um deine Geheimnisse zu entschlüsseln:</translation>
+        <source>Login using %1</source>
+        <translation>Anmelden mit %1</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Entschlüsseln fehlgeschlagen</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO ANMELDUNG</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Die Geheimnisse konnten mit dem Schlüssel bzw Passwort nicht entschlüsselt werden</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Leeres Passwort</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verifizierungscode</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO Anmeldung fehlgeschlagen</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Bitte verifiziere die folgenden Ziffern. Stelle sicher dass beide Seiten die gleichen Zahlen sehen. Wenn diese sich unterscheiden, bitte klicke auf &apos;Sie stimmen nicht überein!&apos; um die Verifizierung abzubrechen!</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Medienupload fehlgeschlagen. Bitte versuche es erneut.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Sie stimmen nicht überein!</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 hat eine verschlüsselte Nachricht gesendet</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Sie stimmen überein!</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 hat geantwortet: %2</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 hat mit einer verschlüsselten Nachricht geantwortet</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 hat auf eine Nachricht geantwortet</translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 hat eine Nachricht gesendet</translation>
+    </message>
+</context>
+<context>
+    <name>PowerLevels</name>
+    <message>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Konnte Berechtigungen nicht aktualisieren: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Suche</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Konnte Berechtigungen nicht aktualisieren: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Leute</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Andere Events</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Natur</translation>
+        <source>Other state events</source>
+        <translation>Andere Statusevents</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Essen</translation>
+        <source>Remove other users</source>
+        <translation>Andere Nutzer entfernen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktivitäten</translation>
+        <source>Ban other users</source>
+        <translation>Andere Nutzer verbannen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Reisen</translation>
+        <source>Invite other users</source>
+        <translation>Andere Nutzer einladen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objekte</translation>
+        <source>Redact events sent by others</source>
+        <translation>Fremde Nachrichten löschen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symbole</translation>
+        <source>Reactions</source>
+        <translation>Reaktionen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Flaggen</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Veraltetes Raumaddressenevent</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verifizierungscode</translation>
+        <location line="+2"/>
+        <source>Change the room avatar</source>
+        <translation>Raumbild ändern</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Bitte verifiziere die folgenden Emoji. Stelle sicher dass beide Seiten die gleichen Emoji sehen. Wenn diese sich unterscheiden, bitte klicke auf &apos;Sie stimmen nicht überein!&apos; um die Verifizierung abzubrechen!</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Raumaddressen bearbeiten</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Je nach Schriftart können die angezeigten Emoji sich in unterschiedlichen Applikationen leicht unterscheiden. Auf die selbe Art kann sich die Übersetzung unter dem Emoji je nach Sprache unterscheiden. Trotzdem sollten die 64 möglichen Zeichen eindeutig genug sein. Z.B. sind eine Katze und ein Löwe unterschiedlich, aber in der einen Applikation ist die Katze eventuell nur als Gesicht dargestellt und nicht als ganze Katze.</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Verschlüsselte Nachrichten senden</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Sie stimmen nicht überein!</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Verschlüsselung aktivieren</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Sie stimmen überein!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Gastzugang modifizieren</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Kein Schlüssel für diese Nachricht vorhanden. Wir haben den Schlüssel automatisch angefragt, aber wenn du ungeduldig bist, kannst du den Schlüssel nocheinmal anfragen.</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Verlaufssichtbarkeit verändern</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Diese Nachricht konnte nicht entschlüsselt werden, weil unser Schlüssel nur für neuere Nachrichten gültig ist. Du kannst den Schlüssel für ältere Nachrichten anfragen.</translation>
+        <source>Change who can join</source>
+        <translation>Beitrittsregeln bearbeiten</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Es ist ein interner Fehler beim Laden des Schlüssels aus der Datenbank aufgetreten.</translation>
+        <source>Send messages</source>
+        <translation>Nachrichten senden</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Beim Entschlüsseln der Nachricht ist ein Fehler aufgetreten.</translation>
+        <source>Change the room name</source>
+        <translation>Raumnamen ändern</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Nheko hat die Nachricht nach der Entschlüsselung nicht verstanden.</translation>
+        <source>Change the room permissions</source>
+        <translation>Berechtigungen bearbeiten</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Der Schlüssel dieser Nachricht wurde schon einmal verwendet! Eventuell versucht jemand, falsche Nachrichten in diese Unterhaltung einzufügen!</translation>
+        <source>Change the rooms topic</source>
+        <translation>Thema ändern</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Unbekannter Entschlüsselungsfehler</translation>
+        <source>Change the widgets</source>
+        <translation>Widgets bearbeiten</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Schlüssel anfragen</translation>
+        <location line="+2"/>
+        <source>Change the widgets (experimental)</source>
+        <translation>Widgets bearbeiten (experimentell)</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 hat die Ende-zu-Ende-Verschlüsselung aktiviert</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Eigene Nachrichten löschen</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Durch die Verschlüsselung sind deine Nachrichten nur von den Personen lesbar, denen du sie auch senden wolltest. Um auf eine Nummer extra-sicher zu gehen, kannst du die Personen, mit denen du kommunizierst, in der echten Welt verifizieren.</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Angeheftete Nachrichten ändern</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Diese Nachricht ist unverschlüsselt!</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Raum ersetzen</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Von einem verifizierten Gerät verschlüsselt</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Sticker senden</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Nutzerrichtlinen senden (z.B. für globale Bans)</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Von einem unverifizierten Gerät verschlüsselt, du hast dem Nutzer jedoch früher schon vertraut.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Raumrichtlinen senden (z.B. für globale Bans)</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Nachricht verschlüsselt bei einem unverifizierten Gerät oder der Schlüssel ist aus einer nicht vertrauenswürdigen Quelle wie der Onlineschlüsselsicherung.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Serverrichtlinen senden (z.B. für globale Bans)</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verifizierung fehlgeschlagen</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Untergeordnete Gruppen und Räume ändern</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Die andere Seite unterstützt keines unserer Verifizierungsprotokolle.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Übergeordnete Gruppen ändern</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Schlüssel unterscheiden sich!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Anruf starten</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Verifizierung abgelaufen, die andere Seite antwortet nicht.</translation>
+        <source>Negotiate a call</source>
+        <translation>Anruf verbinden</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Die andere Seite hat die Verifizierung abgebrochen.</translation>
+        <source>Answer a call</source>
+        <translation>Anruf annehmen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Verifizierungsnachrichten in falscher Reihnenfolge empfangen!</translation>
+        <source>Hang up a call</source>
+        <translation>Anruf auflegen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Unbekannter Verifizierungsfehler.</translation>
+        <source>Reject a call</source>
+        <translation>Anruf abweisen</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Schließen</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Raumemotes bearbeiten</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Nachricht weiterleiten</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Andere Nutzer</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Konnte die versteckten Events nicht ändern: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Erstelle ein separates Profil, was mehrere Instanzen von Nheko mit verschiedenen Accounts zur gleichen Zeit ermöglicht.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>Profil</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>Profilname</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
+    <name>QObject</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Versteckte Events für %1</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Alias für „--log-level trace“.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Versteckte Events</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Setze das globale Log-Level oder eine mit Kommas getrennte Liste mit „&lt;Komponente&gt;=&lt;Level&gt;“-Paaren oder beides. Zum Beispiel: Um das Loglevel auf „warn“ zu setzen, aber das Logging für die „ui“-Komponente zu deaktivieren, benutze „warn,ui=off“. Levels: {trace,debug,info,warning,error,critical,off}. Komponenten: {crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Diese Events werden in %1 &lt;b&gt;angezeigt&lt;/b&gt;:</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>Level</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Diese Events werden in allen Räumen &lt;b&gt;angezeigt&lt;/b&gt;:</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Lege fest, wohin geloggt wird. Eine mit Kommas getrennte Liste kann angegeben werden. Standardwert ist „file,stderr“. Gültige Typen: {file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Benutzeränderungen</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>Typ</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Betreten und Verlassen, Bild- und Namensänderungen, Verbannungen, …</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Antworten</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Berechtigungsveränderungen</translation>
+        <location line="+1"/>
+        <source>Send</source>
+        <translation>Senden</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Werden gesendet, wenn Leute zu Moderatoren ernannt werden, herabgestuft werden oder die erlaubten Nachrichtentypen geändert werden.</translation>
+        <source>Write a message...</source>
+        <translation>Schreibe eine Nachricht…</translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Sticker</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Gestern, %1</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>RegisterPage</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Bilderpackung bearbeiten</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Automatische Erkennung fehlgeschlagen. Antwort war fehlerhaft.</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Bilder hinzufügen</translation>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Automatische Erkennung fehlgeschlagen. Unbekannter Fehler bei Anfrage .well-known.</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Bilder (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Benötigte Ansprechpunkte nicht auffindbar. Möglicherweise kein Matrixserver.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Wähle Bilder für diese Packung</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Erhaltene Antwort war fehlerhaft. Bitte Homeserverdomain prüfen.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Zur Packung hinzufügen</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Ein unbekannter Fehler ist aufgetreten. Bitte Homeserverdomain prüfen.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Ändere das Vorschaubild dieser Packung</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>Der ausgewählte Server unterstützt keine der Matrix versionen, die Nheko versteht (v1.1 bis v1.5). Du kannst dich nicht registrieren.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Vorschaubild (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Server unterstützt das Abfragen der Registrierungmöglichkeiten nicht!</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Wähle ein Vorschaubild für diese Packung aus</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Server unterstützt keine Registrierung.</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Eindeutiger Name</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Ungültiger Benutzername.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Paketname</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Benutzername ist bereits in Verwendung.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Attribution</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Als Emoji verwenden</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Als Sticker verwenden</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Abkürzung</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Beschreibung</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Vom Paket entfernen</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Entfernen</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Bilderpackungseinstellungen</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Neue private Packung</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Neue raumspezifische Packung</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Private Packung</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Packung aus diesem Raum</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Packung von übergeordneter Gruppe</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Global aktivierte Packung</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Global aktivieren</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Macht diese Packung in allen Räumen verfügbar</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Bearbeiten</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Schließen</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Alle Dateien (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Das Hochladen von &apos;%1&apos; ist fehlgeschlagen</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Lade Benutzer in %1 ein</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@jonas:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Suche Benutzer</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Serverseitige Suche</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Einladen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Raum betreten</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Raum-ID oder -Alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Beitreten</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Raum verlassen</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Willst du wirklich den Raum verlassen?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix-ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>z.B. @jonas:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Dein Anmeldename. Eine mxid sollte mit eine @ anfangen gefolgt von der Nutzerid. Nach dem Nutzernamen folgt der servername, getrennt durch ein :.
-Wenn dein Server keinen .well-known unterstützt, kannst du auch eine Serveradresse angeben.
-Beispiel: @nutzer:mein.server
-Wenn Nheko den Server nicht finden kann, wird es dich nach der Serveradresse fragen.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Passwort</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Dein Passwort.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Gerätename</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Der Name für dieses Gerät, den andere sehen, wenn sie deine Geräte verifizieren. Wenn nichts angeben ist, wird ein Standardwert verwendet.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>Die Adresse unter der die Client-API deines Heimservers erreicht wird.
-Beispiel: https://mein.server:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Heimserveradresse</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>dein.server:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ANMELDEN</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Zurück</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Du hast eine ungültige Matrix-ID eingegeben. Beispiel für eine gültige ID: @jonas:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Automatische Erkennung fehlgeschlagen. Antwort war fehlerhaft.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Automatische Erkennung fehlgeschlagen. Unbekannter Fehler bei Anfrage .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Benötigte Ansprechpunkte nicht auffindbar. Möglicherweise kein Matrixserver.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Erhaltene Antwort war fehlerhaft. Bitte Homeserverdomain prüfen.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Ein unbekannter Fehler ist aufgetreten. Bitte Homeserverdomain prüfen.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>Der ausgewählte Server unterstützt keine der Matrix versionen, die Nheko versteht (v1.1 bis v1.5). Du kannst dich nicht anmelden.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Mit Apple anmelden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Mit Facebook fortfahren</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Mit Google anmelden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Mit Twitter anmelden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Anmelden mit %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO ANMELDUNG</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Leeres Passwort</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO Anmeldung fehlgeschlagen</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Abmelden</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Du befindest dich in einem Telefonat. Wirklich abmelden?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Wirklich abmelden?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Medienupload fehlgeschlagen. Bitte versuche es erneut.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Dieser Raum wurde aus folgendem Grund ersetzt: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Gehe zum neuen Raum</translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 hat eine Nachricht gelöscht</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 hat den Raumnamen geändert auf: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 hat den Raumnamen entfernt</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 hat das Thema geändert auf: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 hat das Raumthema entfernt</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 hat dem Raumavatar geändert</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 hat die angehefteten Nachrichten geändert.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 hat die Addressen dieses Raumes geändert.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 hat die übergeordneten Gruppen für diesen Raum bearbeitet.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 hat den Raum %2 erstellt und konfiguriert</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 hat einen Sprachanruf gestartet.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 hat einen Videoanruf gestartet.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 hat angerufen.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 hat den Anruf angenommen.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 hat den Anruf abgewiesen.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 hat einen Anruf ausgewählt</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 hat den Anruf beendet.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 wartet auf Verbindung...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Reinlassen</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Auflegen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Anrufen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Bereits in einem Telefonat</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Versende Datei</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Schreibe eine Nachricht…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Sticker</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Senden</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Du hast keine Berechtigung, Nachrichten in diesen Raum zu senden</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Bearbeiten</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reaktion senden</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>In Gesprächsfaden antworten</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Neuer Gesprächsfaden</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Antworten</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Optionen</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Grund für die Löschung</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Grund für das Nachrichtenlöschen oder Entertaste drücken für keinen Grund:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopieren</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Kopiere &amp;Link-Ziel</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;agieren</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Antwo&amp;rten</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>B&amp;earbeiten</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Gesprächsfaden</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>An&amp;heften aufheben</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>An&amp;heften</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>&amp;Lesebestätigungen</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Weiterleiten</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>Als gelesen &amp;markieren</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Zeige rohen Nachrichteninhalt</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Zeige rohen, entschlüsselten Nachrichteninhalt</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Na&amp;chricht löschen</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Speichern als</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>In externem Pr&amp;ogramm öffnen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Link &amp;zu diesem Event kopieren</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Gehe zur zitierten Nachricht</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Sende eine Verifizierungsanfrage</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Verifizierungsanfrage erhalten</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Damit andere Nutzer sehen können, welche Geräte wirklich dir gehören, kannst du sie verifizieren. Das aktiviert auch den Onlinespeicher für Nachrichtenschlüssel. Willst du ein unverifiziertes Gerät verifizieren? (Stelle sicher, dass du eines der Geräte in deiner Nähe hast.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Damit andere Nutzer sehen können, welche Geräte wirklich dir gehören, kannst du sie verifizieren. Das aktiviert auch den Onlinespeicher für Nachrichtenschlüssel. Willst du %1 verifizieren?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Um sichere Kommunikation zu garantieren, kannst du den anderen Nutzer verifizieren.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 hat angefragt, dass du deren Gerät %2 verifizierst.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 mit dem Gerät %2 hat angefragt verifiziert zu werden.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Dein Gerät %1 hat angefragt verifiziert zu werden.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Ablehnen</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Starte Verifizierung</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Akzeptieren</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Du wirst den ganzen Raum eine Benachrichtigung schicken</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 hat eine verschlüsselte Nachricht gesendet</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 hat geantwortet: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 hat mit einer verschlüsselten Nachricht geantwortet</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 hat auf eine Nachricht geantwortet</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 hat eine Nachricht gesendet</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>%1 anrufen?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Kein Mikrofon gefunden.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Sprache</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Bildschirm</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>Unimplementiertes Event: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Berechtigungen in %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Sei vorsichtig beim Bearbeiten der Berechtigungen. Du kannst Personen, die einen gleichen oder höheren Level als du haben, nicht herunterstufen. Sei vorsichtig, wenn du andere Leute beförderst.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Rollen</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Benutzer</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Verschiebe Berechtigungen zwischen Rollen, um diese zu modifizieren</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Administrator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Moderator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Benutzer (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Benutzerdefiniert (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Eventtyp entfernen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Eventtyp hinzufügen</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Neue Rolle definieren</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Hinzufügen</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Verschiebe Nutzer zwischen Rollen um deren Rolle zu ändern</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Benutzer entfernen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Benutzer hinzufügen</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Berechtigungsänderungen anwenden</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Auf welche Unterguppen und Räume sollen diese Berechtigungen angewandt werden?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Berechtigungen rekursiv anwenden</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Existierende Änderungen in den Räumen überschreiben</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Keine Berechtigung die Berechtigungen hier zu verändern</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Keine Änderungen notwendig</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Existierende Änderungen in diesem Raum werden überschrieben</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Berechtigungen mit der Gruppe synchronisiert</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Konnte Berechtigungen nicht aktualisieren: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Konnte Berechtigungen nicht aktualisieren: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Andere Events</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Andere Statusevents</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Andere Nutzer entfernen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Andere Nutzer verbannen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Andere Nutzer einladen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Fremde Nachrichten löschen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reaktionen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Veraltetes Raumaddressenevent</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Raumbild ändern</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Raumaddressen bearbeiten</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Verschlüsselte Nachrichten senden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Verschlüsselung aktivieren</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Gastzugang modifizieren</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Verlaufssichtbarkeit verändern</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Beitrittsregeln bearbeiten</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Nachrichten senden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Raumnamen ändern</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Berechtigungen bearbeiten</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Thema ändern</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Widgets bearbeiten</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Widgets bearbeiten (experimentell)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Eigene Nachrichten löschen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Angeheftete Nachrichten ändern</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Raum ersetzen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Sticker senden</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Nutzerrichtlinen senden (z.B. für globale Bans)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Raumrichtlinen senden (z.B. für globale Bans)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Serverrichtlinen senden (z.B. für globale Bans)</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Untergeordnete Gruppen und Räume ändern</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Übergeordnete Gruppen ändern</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Anruf starten</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Anruf verbinden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Anruf annehmen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Anruf auflegen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Anruf abweisen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Raumemotes bearbeiten</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Andere Nutzer</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Erstelle ein separates Profil, was mehrere Instanzen von Nheko mit verschiedenen Accounts zur gleichen Zeit ermöglicht.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>Profil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>Profilname</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Alias für „--log-level trace“.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Setze das globale Log-Level oder eine mit Kommas getrennte Liste mit „&lt;Komponente&gt;=&lt;Level&gt;“-Paaren oder beides. Zum Beispiel: Um das Loglevel auf „warn“ zu setzen, aber das Logging für die „ui“-Komponente zu deaktivieren, benutze „warn,ui=off“. Levels: {trace,debug,info,warning,error,critical,off}. Komponenten: {crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>Level</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Lege fest, wohin geloggt wird. Eine mit Kommas getrennte Liste kann angegeben werden. Standardwert ist „file,stderr“. Gültige Typen: {file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>Typ</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Antworten</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Senden</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Schreibe eine Nachricht…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Lesebestätigungen</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Gestern, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Benutzername</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Der Benutzername sollte nicht leer sein und nur aus a-z, 0-9, ., _, =, - und / bestehen.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Zurück</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Passwort</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Bitte wähle ein sicheres Passwort. Die genauen Anforderungen bestimmt dein Server.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Passwortbestätigung</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Ein Name für dieses Gerät, der eventuell anderen Nutzern gezeigt wird, wenn du Geräte verifizierst. Ohne Angabe wird ein Standardwert verwendet.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Heimserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>dein.server</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Ein Server, der Registrierungen zulässt. Weil Matrix ein dezentralisiertes Protokoll ist, musst du erst einen Server ausfindig machen oder einen persönlichen Server aufsetzen.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Deine Passwörter stimmen nicht überein!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Gerätename</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTRIEREN</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Automatische Erkennung fehlgeschlagen. Antwort war fehlerhaft.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Automatische Erkennung fehlgeschlagen. Unbekannter Fehler bei Anfrage .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Benötigte Ansprechpunkte nicht auffindbar. Möglicherweise kein Matrixserver.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Erhaltene Antwort war fehlerhaft. Bitte Homeserverdomain prüfen.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Ein unbekannter Fehler ist aufgetreten. Bitte Homeserverdomain prüfen.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>Der ausgewählte Server unterstützt keine der Matrix versionen, die Nheko versteht (v1.1 bis v1.5). Du kannst dich nicht registrieren.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Server unterstützt das Abfragen der Registrierungmöglichkeiten nicht!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Server unterstützt keine Registrierung.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Ungültiger Benutzername.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Benutzername ist bereits in Verwendung.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Teil des reservierten Namesraumes.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Schließen</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Editieren abbrechen</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Gesprächsfaden abbrechen</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Öffentliche Räume erkunden</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Suche nach öffentlichen Räumen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Wähle einen anderen Heimserver aus</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>keine Version gespeichert</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Neuer Tag</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Gib den Tag, den du verwenden willst, ein:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>In einem separaten Fenster öffnen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Raumeinstellungen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Raum verlassen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Raumlink kopieren</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Tagge den Raum als:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favorit</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Niedrige Priorität</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Serverbenachrichtigung</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Neuen Tag erstellen…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Zu Gruppe hinzufügen oder entfernen...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Statusnachricht</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Gib deine Statusnachricht ein:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Profileinstellungen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Setze eine Statusnachricht</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Abmelden</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Verschlüsselung ist nicht konfiguriert</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Login noch nicht verifiziert</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Verifiziere deine anderen Geräte</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Schließen</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Neues Gespräch beginnen</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Raum betreten</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Erstelle einen neuen Raum</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Direktkonversation starten</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Neue Gruppe erstellen</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Raumverzeichnis</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Räume suchen (Strg+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Benutzereinstellungen</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation>Teil des reservierten Namesraumes.</translation>
     </message>
 </context>
 <context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Teilnehmer in %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n Person in %1</numerusform>
-            <numerusform>%n Personen in %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Lade mehr Leute ein</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Suchen...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Sortieren nach: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>Benutzerkennung</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Anzeigename</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Berechtigung</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Administrator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Moderator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Benutzer: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Dieser Raum ist nicht verschlüsselt!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Der Nutzer ist verifiziert.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Der Nutzer ist nicht verifiziert, aber hat schon immer diese Identität verwendet.</translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Dieser Nutzer hat unverifizierte Geräte!</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>keine Version gespeichert</translation>
     </message>
 </context>
 <context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Raumeinstellungen</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Raumavatar ändern.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Name des Raumes ändern</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n Mitglied</numerusform>
-            <numerusform>%n Mitglieder</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Mitglieder von %1 anzeigen</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Kein Thema festgelegt</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Thema des Raumes ändern</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>EINSTELLUNGEN</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Benachrichtigungen</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Stumm</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Nur Erwähnungen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Alle Nachrichten</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Verschlüsselung</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Ende-zu-Ende Verschlüsselung</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Verschlüsselung ist aktuell experimentell und manche Sachen können unerwartet kaputt gehen.&lt;br&gt;
-Bitte beachte, dass die Verschlüsselung hinterher nicht mehr deaktiviert werden kann.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Berechtigungen</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Berechtigungen anzeigen und ändern</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Raumadressen anzeigen und ändern</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Sticker- &amp; Emoteeinstellungen</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Ändern</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Versteckte Events</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Konfigurieren</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Jeder kann beitreten</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Anklopfen erlauben</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Durch andere Räume betreten</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Räume die Zutritt erlauben</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Ändere die Liste an Räumen, die den Zutritt erlauben. Normalerweise ist das die offizielle Gruppe dieses Raumes.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Erlaube Gästen beizutreten</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Zugriffsregeln anwenden</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Raumaddressen</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Ändere welche Packungen aktiv sind, entferne oder erstelle neue Packungen.</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Wähle aus, weche Events in diesem Raum angezeigt werden</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Interne ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>In die Zwischenablage kopiert</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Raumversion</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>weniger anzeigen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>mehr anzeigen</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Aktivierung der Verschlüsselung fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Wähle einen Avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Alle Dateien (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Die ausgewählte Datei ist kein Bild</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Fehler beim Lesen der Datei: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Hochladen des Bildes fehlgeschlagen: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Offene Einladung.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Vorschau dieses Raums</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Keine Vorschau verfügbar</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Bitte gib dein Anmeldepassword an um fortzufahren:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Bitte gib eine gültige Emailadresse an um fortzufahren:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Bitte gib eine gültige Telefonnummer an um fortzufahren:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Bitte gib das Token ein, dass dir geschickt wurde:</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Warte auf den Bestätigungslink und fahre fort, wenn du diesem gefolgt bist.</translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Bildschirm mit %1 teilen?</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Fenster:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Wähle einen Avatar</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Bildrate:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Alle Dateien (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Deine Kamera Bild-in-Bild anzeigen</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Die ausgewählte Datei ist kein Bild</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Entfernte Kamera anfragen</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Fehler beim Lesen der Datei: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Die Kamera Ihres Gesprächspartners wie bei einem normalen Videoanruf betrachten</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Hochladen des Bildes fehlgeschlagen: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Mauszeiger verstecken</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Offene Einladung.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Teilen</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Vorschau dieses Raums</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Vorschau</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Keine Vorschau verfügbar</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Verbindung zum kryptografischen Speicher fehlgeschlagen</translation>
     </message>
@@ -3238,62 +1236,10 @@ Bitte beachte, dass die Verschlüsselung hinterher nicht mehr deaktiviert werden
         <translation>Nheko konnte sich nicht mit dem Dienst zum sicheren speichern von Schlüsseln verbinden. Das kann verschiedene Gründe haben. Prüfe, ob der D-Bus-Dienst aktiv ist und du einen Dienst wie KWallet, Gnome Keyring, KeePassXC oder das Äquivalent für deine Platform. Wenn du Probleme hast, scheue dich nicht Hilfe hier zu suchen: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Dies ist dein Wiederherstellungsschlüssel. Du brauchst diesen um auf deine verschüsselten Nachrichten und Verifizierungsschlüssel zugreifen zu können. Pass gut drauf auf. Teile den Schlüssel mit niemandem und verliere ihn nicht! Gehe nicht über Los! Ziehe nicht 2000€ ein!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Verschlüsselung erfolgreich konfiguriert</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Verschlüsselung konnte nicht konfiguriert werden: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Konfiguriere Verschlüsselung</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Hallo und willkommen zu Matrix!
-Sieht so aus als wärst du neu hier. Bevor wir deine Nachrichten verschlüsseln können, müssen wir ein paar Sachen konfigurieren. Keine Panik, du kannst auch einfach weiter klicken, ohne irgendentwas umzustellen, aber du kannst natürlich auch ein paar der Optionen ändern. Die Erklärungen sind etwas länger in der Hoffnung, dass sie weiterhelfen. Du kannst sie überspringen, aber einmal durchlesen ist vielleicht vorteilhaft!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Verschlüsselung aktivieren</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Es sieht so aus als hättest du die Verschlüsselung für dieses Konto schon aktiviert. Damit dieses Gerät auf verschlüsselte Nachrichten zugreifen kann und vertrauenswürdig erschein, kannst du es jetzt entweder mit einem anderen Gerät verifizieren oder (wenn du einen hast) mit deinem Wiederherstellungsschlüssel bestätigen. Bitte wähle eine der folgenden Optionen.
-Wenn du verifizieren wählst, musst du dein anderes Gerät zur Hand haben. Wenn du den Wiederherstellungsschlüssel wählst, brauchst du deine Wiederherstellungsphrase oder -passwort. Mit Abbrechen kannst du diesen Schritt auf später verschieben.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>Verifizieren</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>Passphrase eingeben</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Quersignaturschlüssel konnten nicht erzeugt werden!</translation>
     </message>
@@ -3326,19 +1272,19 @@ Wenn du verifizieren wählst, musst du dein anderes Gerät zur Hand haben. Wenn
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Konnte die Bilderpackung nicht aktualisieren: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Konnte die alte Bilderpackung nicht löschen: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Konnte Bild nicht öffnen: %1</translation>
     </message>
@@ -3349,97 +1295,10 @@ Wenn du verifizieren wählst, musst du dein anderes Gerät zur Hand haben. Wenn
         <translation>Konnte Bild nicht hochladen: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Zu Gruppe hinzufügen oder entfernen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Offizielle Gruppe für diesen Raum</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Assoziierte Gruppe für diesen Raum</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Nur für Gruppenmitglieder gelistet</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Nur für Raummitglieder gelistet</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Nicht assoziiert</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Untergruppen</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Fehlgeschlagen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Gesendet</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Empfangen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Gelesen</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Suche</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Erfolgreiche Verifizierung</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verifizierung erfolgreich! Beide Seiten haben ihre Geräte verifiziert!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Schließen</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Nachricht zurückziehen fehlgeschlagen: %1</translation>
@@ -3471,7 +1330,7 @@ Wenn du verifizieren wählst, musst du dein anderes Gerät zur Hand haben. Wenn
         <translation>Datei speichern</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3741,267 +1600,110 @@ Grund: %4</translation>
     </message>
     <message>
         <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation>%2 hat die Einladung an %1 zurückgezogen.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation>%2 hat %1 aus dem Raum entfernt.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation>%2 hat die Verbannung von %1 zurückgezogen.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 hat das Anklopfen von %1 abgewiesen.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 hat den Avatar geändert.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 hat etwas im Profil geändert.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 hat den Raum betreten.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 hat den Raum durch Authorisierung von %2s Server betreten.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 hat die Einladung abgewiesen.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 hat den Raum verlassen.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Grund: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 hat das Anklopfen zurückgezogen.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Du bist dem Raum beigetreten.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 hat diesen Raum nur eingeladenen Nutzern zugänglich gemacht.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 hat %2 eingeladen.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 hat den eigenen Avatar und Namen zu %2 geändert.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 hat den eigenen Anzeigenamen zu %2 geändert.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 hat den Raum verlassen, obwohl er gar nicht mehr am Raum teilnahm!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 hat %2 verbannt</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 hat angeklopft.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Bearbeitet</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Teil eines Gesprächfadens</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Kein Raum geöffnet</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Keine Vorschau verfügbar</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Einstellungen</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n Mitglied</numerusform>
-            <numerusform>%n Mitglieder</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Zeige Mitglieder von %1 an</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>An der Unterhaltung teilnehmen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>Einladung annehmen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>Einladung ablehnen</translation>
+        <source>%2 revoked the invite to %1.</source>
+        <translation>%2 hat die Einladung an %1 zurückgezogen.</translation>
     </message>
     <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Einladungsgrund verstecken</translation>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
+        <translation>%2 hat %1 aus dem Raum entfernt.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Einladungsgrund anzeigen</translation>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
+        <translation>%2 hat die Verbannung von %1 zurückgezogen.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Zurück zur Raumliste</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 hat das Anklopfen von %1 abgewiesen.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Zurück zur Raumliste</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 hat den Avatar geändert.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Kein Raum ausgewählt</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 hat etwas im Profil geändert.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>In %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 hat den Raum betreten.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Zeige Raummitglieder an.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 hat den Raum durch Authorisierung von %2s Server betreten.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Dieser Raum enthält nur verifizierte Geräte.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 hat die Einladung abgewiesen.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Dieser Raum enthält nur Geräte, die entweder verifiziert wurden oder nie den Hauptschlüssel geändert haben.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 hat den Raum verlassen.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Dieser Raum enthält unverifizierte Geräte!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Grund: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Angehefte Nachrichten anzeigen oder verstecken</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 hat das Anklopfen zurückgezogen.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Diesen Raum durchsuchen</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Du bist dem Raum beigetreten.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Raumoptionen</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 hat diesen Raum nur eingeladenen Nutzern zugänglich gemacht.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Benutzer einladen</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 hat %2 eingeladen.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Teilnehmer</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 hat den eigenen Avatar und Namen zu %2 geändert.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Raum verlassen</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 hat den eigenen Anzeigenamen zu %2 geändert.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Einstellungen</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 hat den Raum verlassen, obwohl er gar nicht mehr am Raum teilnahm!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Anheften aufheben</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 hat %2 verbannt</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Suchanfrage eingeben</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 hat angeklopft.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Zeigen</translation>
     </message>
@@ -4014,13 +1716,13 @@ Grund: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Keine bekannten Wege zur Authentifizierung!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Authentifizierung abgebrochen</translation>
@@ -4036,112 +1738,10 @@ Grund: %4</translation>
         <translation>Ungültiges Token</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Datei hochladen</numerusform>
-            <numerusform>%n Dateien hochladen</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Globales Nutzerprofil</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Raumspezifisches Nutzerprofil</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Ändere das Profilbild in allen Räumen.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Ändere das Profilbild nur in diesem Raum.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Ändere den Anzeigenamen in allen Räumen.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Ändere den Anzeigenamen nur in diesem Raum.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Raum: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Dies ist das raumspezifische Nutzerprofil. Der Anzeigename und das Profilbild kann sich von dem globalen Profil unterscheiden.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Öffne das globale Profil des Nutzers.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Verifizieren</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Starte eine private Unterhaltung.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Benutzer aus dem Raum werfen.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Benutzer aus dem Raum verbannen.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Geräteliste aktualisieren.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Gerät abmelden.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Gerät umbenennen.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Zuletzt gesehen um %1 von %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Verifizierung zurückziehen</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Gerät %1 abmelden</translation>
     </message>
@@ -4174,8 +1774,8 @@ Grund: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Standard</translation>
     </message>
@@ -4183,7 +1783,7 @@ Grund: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Erscheinungsbild</translation>
     </message>
@@ -4252,6 +1852,11 @@ Grund: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Sortiere ungelesene Räume zuerst</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4513,12 +2118,22 @@ Grund: %4</translation>
         <translation>Mache Rauminformationen über D-Bus verfügbar</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Standard</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Ändere den Klingelton für eingehende Anrufe</translation>
     </message>
@@ -4591,7 +2206,21 @@ This will also enable or disable sending typing notifications to others.</source
 Diese Einstellung steuert auch, ob das eigene Tippen an andere gesendet wird.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Zeige Knöpfe für das schnelle Antworten, Reagieren und zusätzliche Optionen neben jeder Nachricht.</translation>
     </message>
@@ -4645,17 +2274,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Normalerweise animiert das den Taskbaricon oder färbt das Fenster orange ein.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Gruppenseitenleiste</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Zeige Nachrichtenzahl für Gruppen und Tags</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Setze eine maximale Breite für Nachrichten im Chat (in Pixeln). Das kann die Lesbarkeit auf breiten Bildschirmen erhöhen.</translation>
     </message>
@@ -4665,16 +2294,7 @@ Normalerweise animiert das den Taskbaricon oder färbt das Fenster orange ein.</
         <translation>Zeige eine Liste mit Gruppen und Tags neben der Raumliste.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Zeige Räume mit neuen Nachrichten zuerst an.
-Wenn dies aus ist, dann werden Räume nur nach Zeitstempel der letzten Nachricht sortiert.
-Wenn dies an ist, dann werden Nachrichten mit aktiven Benachrichtigungen (der kleine Kreis mit der Zahl drin) zuerst angezeigt. Räume, die stummgestellt sind, werden immer noch nach Zeitstempel sortiert, nachdem diese weniger wichtig zu sein scheinen.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4765,7 +2385,17 @@ This setting will take effect upon restart.</source>
 Diese Einstellung benötigt einen Neustart von Nheko.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Datei auswählen</translation>
     </message>
@@ -4775,7 +2405,7 @@ Diese Einstellung benötigt einen Neustart von Nheko.</translation>
         <translation>Alle Dateien (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Öffne Sitzungsdatei</translation>
     </message>
@@ -4817,117 +2447,18 @@ Diese Einstellung benötigt einen Neustart von Nheko.</translation>
         <translation>Datei zum Speichern der zu exportierenden Sitzungsschlüssel</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>ANFRAGEN</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>DOWNLOADEN</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>IM CACHE</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NICHT IM CACHE</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Zurück</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTIEREN</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTIEREN</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Keinen verschlüsselten Chat mit diesem User gefunden. Erstelle einen verschlüsselten 1:1 Chat mit diesem Nutzer und versuche es erneut.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Auf Gegenseite warten…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Es wird gewartet, dass die andere Seite die Verifizierungsanfrage akzeptiert.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Es wird gewartet, dass die andere Seite den Verifizierungsprozess fortsetzt.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Es wird gewartet, dass die andere Seite den Verifizierungsprozess abschließt.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Willkommen bei Nheko! Ein Desktop-Client für das Matrix-Protokoll.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Viel Vergnügen!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTRIEREN</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ANMELDEN</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Reduziere Animationen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Für besseres Aussehen verwendet Nheko an verschiedenen Stellen Animationen. Diese Option erlaubt dir die Animationen zu deaktiveren, wenn diese bei dir Unwohlsein hervorrufen.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Gestern</translation>
     </message>
@@ -4935,7 +2466,7 @@ Diese Einstellung benötigt einen Neustart von Nheko.</translation>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Öffne Fallback im Browser</translation>
     </message>
@@ -4956,32 +2487,52 @@ Diese Einstellung benötigt einen Neustart von Nheko.</translation>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Öffne reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Leute</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Natur</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Bestätigen</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Essen</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Löse das reCAPTCHA und drücke den &quot;Bestätigen&quot;-Knopf</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktivitäten</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Reisen</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objekte</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Symbole</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Flaggen</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Du hast eine Audiodatei gesendet</translation>
     </message>
@@ -5042,25 +2593,25 @@ Diese Einstellung benötigt einen Neustart von Nheko.</translation>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Du: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>Du hast etwas Konfetti geschickt</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 hat etwas Konfetti geschickt</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_el.ts b/resources/langs/nheko_el.ts
index b3e3375166ff52092bb2d0c4765133965d4004a2..f22fa6379e3261041e642b7f3663fc8d28e2e945 100644
--- a/resources/langs/nheko_el.ts
+++ b/resources/langs/nheko_el.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="el">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished">Αποδοχή</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation type="unfinished">Απόρριψη</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,12 +166,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2646 +630,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>GridImagePackModel</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HiddenEvents</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">Όλα τα αρχεία (*)</translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Όνομα</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Θέμα</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Κενός κωδικός</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation type="unfinished">Δραστηριότητες</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation type="unfinished">Αντικείμενα</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation type="unfinished">Σύμβολα</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation type="unfinished">Σημαίες</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
-        <translation type="unfinished"></translation>
+        <source>Write a message...</source>
+        <translation type="unfinished">Γράψε ένα μήνυμα...</translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">Όλα τα αρχεία (*)</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">Όλα τα αρχεία (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">ID ή όνομα συνομιλίας</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Βγές</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">Είστε σίγουροι οτι θέλετε να κλείσετε τη συνομιλία;</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>π.χ @john:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Κωδικός</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ΕΙΣΟΔΟΣ</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Κενός κωδικός</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Γράψε ένα μήνυμα...</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished">Αποδοχή</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Γράψε ένα μήνυμα...</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Όνομα χρήστη</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Κωδικός</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Επαλήθευση κωδικού</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>ΕΓΓΡΑΦΗ</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Βγές</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">Όλα τα αρχεία (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SpaceMenuLevel</name>
+    <name>RoomlistModel</name>
     <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StickerPicker</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Success</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3739,398 +1605,139 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Ρυθμίσεις</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished">Προσκάλεσε χρήστες</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished">Μέλη</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Βγές</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation type="unfinished">Ρυθμίσεις</translation>
-    </message>
-    <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
-    <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
-        <translation>Εμφάνιση</translation>
-    </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
-        <translation>Έξοδος</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
+        <translation>Εμφάνιση</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Quit</source>
+        <translation>Έξοδος</translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Φόντο</translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">Διάλεξε ένα αρχείο</translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Όλα τα αρχεία (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4790,117 +2429,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Καλως ήρθες στο nheko!</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation> </translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>ΕΓΓΡΑΦΗ</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ΕΙΣΟΔΟΣ</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4908,7 +2448,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4929,32 +2469,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Άκυρο</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Δραστηριότητες</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Αντικείμενα</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Σύμβολα</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Σημαίες</translation>
+    </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_en.ts b/resources/langs/nheko_en.ts
index 52f57a0c5296093081bb054e05553ec65ac12434..5576494307b1416206315d6638954c4e3a881e58 100644
--- a/resources/langs/nheko_en.ts
+++ b/resources/langs/nheko_en.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="en">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Calling…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Connecting…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>You are screen sharing.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Hide/Show Picture-in-Picture</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Unmute Mic</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Mute Mic</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Failed to update aliases: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Aliases to %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Primary alias</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Make primary alias</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Advertise as an alias in this room</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Publish in room directory</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Remove this alias</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#new-alias:server.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Add</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Allowed rooms settings</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Parent community</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Other room</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Enter additional rooms not in the list yet...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 and %n other</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Empty Room</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Video Call</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Voice Call</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>No microphone found.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Video Call</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Voice Call</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Devices</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Accept</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Unknown microphone: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Unknown camera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Decline</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation>X11</translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>No microphone found.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation>PipeWire</translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Entire screen</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Failed to invite user: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Invited user: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation>
+            <numerusform>%n unread message in room %1</numerusform>
+            <numerusform>%n unread messages in room %1</numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Confirm logout</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>The cache on your disk is newer than this version of Nheko supports. Please update Nheko or clear your cache.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Failed to open database, logging out!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Confirm invite</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Do you really want to invite %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Unbanned user: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Do you really want to start a private chat with %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Cache migration failed!</translation>
     </message>
@@ -347,7 +195,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Incompatible cache version</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Failed to restore OLM account. Please login again.</translation>
     </message>
@@ -421,16 +269,11 @@ You may optionally provide a reason for others to accept your knock:</translatio
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Enter reason for banning %1 (%2) or hit enter for no reason:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>No network connection</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;message&gt;</translation>
     </message>
@@ -541,6 +384,16 @@ You may optionally provide a reason for others to accept your knock:</translatio
     </message>
     <message>
         <location line="+38"/>
+        <source>/rainfall [message]</source>
+        <translation>/rainfall [message]</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation>/msgtype &lt;msgtype&gt; [message]</translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;message reference&gt;</translation>
     </message>
@@ -680,6 +533,16 @@ You may optionally provide a reason for others to accept your knock:</translatio
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Send a message in rainbow colors with confetti.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation>Send a message with rain.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation>Send a message with a custom message type.</translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -696,33 +559,10 @@ You may optionally provide a reason for others to accept your knock:</translatio
         <translation>Convert this direct chat into a room.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Do not show notification counts for this community or tag.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Hide rooms with this tag or from this community by default.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Expand</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Collapse</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>All rooms</translation>
     </message>
@@ -772,7 +612,7 @@ You may optionally provide a reason for others to accept your knock:</translatio
         <translation>Messages from your server or administrator.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Failed to update community: %1</translation>
     </message>
@@ -793,2447 +633,600 @@ You may optionally provide a reason for others to accept your knock:</translatio
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Confirm community join</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Decrypt secrets</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Confirm room join</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Enter your recovery key or passphrase to decrypt your secrets:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n member</numerusform>
-            <numerusform>%n members</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Enter your recovery key or passphrase called %1 to decrypt your secrets:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Do you want to join this room? You can optionally add a reason below:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Decryption failed</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Failed to decrypt secrets with the provided recovery key or passphrase</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Knock</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Failed to set hidden events: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Join</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation>Account Pack</translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Create Direct Chat</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Failed to set hidden events: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>User to invite</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>Select file(s)</source>
+        <translation>Select file(s)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@user:server.tld</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>All Files (*)</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Encryption</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Upload of &apos;%1&apos; failed</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Create Room</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>You have entered an invalid Matrix ID  e.g @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Name</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Autodiscovery failed. Received malformed response.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>New community</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Autodiscovery failed. Unknown error while requesting .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>New Room</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>The required endpoints were not found. Possibly not a Matrix server.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>No name</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Received malformed response. Make sure the homeserver domain is valid.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Topic</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>An unknown error occured. Make sure the homeserver domain is valid.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>No topic</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Sign in with Apple</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Public</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Continue with Facebook</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Public rooms can be joined by anyone; private rooms need explicit invites.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Sign in with Google</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Trusted</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Sign in with Twitter</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>All invitees are given the same power level as the creator</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Login using %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Encryption</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO LOGIN</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Caution: Encryption cannot be disabled</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Empty password</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO login failed</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Decrypt secrets</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Failed to upload media. Please try again.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Enter your recovery key or passphrase to decrypt your secrets:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 sent an encrypted message</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Enter your recovery key or passphrase called %1 to decrypt your secrets:</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Decryption failed</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 replied: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Failed to decrypt secrets with the provided recovery key or passphrase</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 replied with an encrypted message</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verification Code</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 replied to a message</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Please verify the following digits.  You should see the same numbers on both sides.  If they differ, please press &apos;They do not match!&apos; to abort verification!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 sent a message</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>They do not match!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Failed to update powerlevel: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>They match!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Failed to update powerlevel: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Search</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Other events</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>People</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Other state events</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Nature</translation>
+        <source>Remove other users</source>
+        <translation>Remove other users</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Food</translation>
+        <source>Ban other users</source>
+        <translation>Ban other users</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Activity</translation>
+        <source>Invite other users</source>
+        <translation>Invite other users</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Travel</translation>
+        <source>Redact events sent by others</source>
+        <translation>Redact events sent by others</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objects</translation>
+        <source>Reactions</source>
+        <translation>Reactions</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symbols</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Deprecated aliases events</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Flags</translation>
+        <source>Change the room avatar</source>
+        <translation>Change the room avatar</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verification Code</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Change the room addresses</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Send encrypted messages</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Enable encryption</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>They do not match!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Change guest access</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>They match!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Change history visibility</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Change who can join</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</translation>
+        <source>Send messages</source>
+        <translation>Send messages</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>There was an internal error reading the decryption key from the database.</translation>
+        <source>Change the room name</source>
+        <translation>Change the room name</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>There was an error decrypting this message.</translation>
+        <source>Change the room permissions</source>
+        <translation>Change the room permissions</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>The message couldn&apos;t be parsed.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Change the rooms topic</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</translation>
+        <source>Change the widgets</source>
+        <translation>Change the widgets</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Unknown decryption error</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Change the widgets (experimental)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Request key</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Redact own events</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 enabled end-to-end encryption</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Change the pinned events</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Upgrade the room</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>This message is not encrypted!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Send stickers</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Encrypted by a verified device</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Ban users using policy rules</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Encrypted by an unverified device, but you have trusted that user so far.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Ban rooms using policy rules</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Ban servers using policy rules</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verification failed</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Edit child communities and rooms</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Other client does not support our verification protocol.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Change parent communities</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Key mismatch detected!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Start a call</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Device verification timed out.</translation>
+        <source>Negotiate a call</source>
+        <translation>Negotiate a call</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Other party canceled the verification.</translation>
+        <source>Answer a call</source>
+        <translation>Answer a call</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Verification messages received out of order!</translation>
+        <source>Hang up a call</source>
+        <translation>Hang up a call</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Unknown verification error.</translation>
+        <source>Reject a call</source>
+        <translation>Reject a call</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Close</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Change the room emotes</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Forward Message</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Other users</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Failed to set hidden events: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Hidden events for %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profile</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Hidden events</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>profile name</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Alias for &apos;--log-level trace&apos;.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>User events</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>level</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Joins, leaves, avatar and name changes, bans, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Power level changes</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>type</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Respond</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Sent when a moderator is added/removed or the permissions of a room are changed.</translation>
+        <source>Send</source>
+        <translation>Send</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Stickers</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Write a message…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Editing image pack</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Yesterday, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Add images</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Autodiscovery failed. Received malformed response.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Images (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Autodiscovery failed. Unknown error while requesting .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Select images for pack</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>The required endpoints were not found. Possibly not a Matrix server.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Add to pack</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Received malformed response. Make sure the homeserver domain is valid.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Change the overview image for this pack</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>An unknown error occured. Make sure the homeserver domain is valid.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Overview Image (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Select overview image for pack</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Server does not support querying registration flows!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>State key</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Server does not support registration.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Packname</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Invalid username.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Attribution</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Use as Emoji</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Use as Sticker</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Shortcode</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Body</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Remove from pack</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Remove</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Image pack settings</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Create account pack</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>New room pack</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Private pack</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Pack from this room</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Pack from parent community</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Globally enabled pack</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Enable globally</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Enables this pack to be used in all rooms</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Edit</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Close</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+372"/>
-        <source>Select file(s)</source>
-        <translation>Select file(s)</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>All Files (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Upload of &apos;%1&apos; failed</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Invite users to %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Search user</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Search on Server</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Invite</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Join room</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Room ID or alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Join</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Leave room</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Are you sure you want to leave?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>e.g @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Password</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Your password.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Device name</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Homeserver address</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.my:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>LOGIN</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Back</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>You have entered an invalid Matrix ID  e.g @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Autodiscovery failed. Received malformed response.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Autodiscovery failed. Unknown error while requesting .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>The required endpoints were not found. Possibly not a Matrix server.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Received malformed response. Make sure the homeserver domain is valid.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>An unknown error occured. Make sure the homeserver domain is valid.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Sign in with Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Continue with Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Sign in with Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Sign in with Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Login using %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO LOGIN</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Empty password</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO login failed</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Log out</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>A call is in progress. Log out?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Are you sure you want to log out?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Failed to upload media. Please try again.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation>%1 removed a message</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 changed the room name to: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 removed the room name</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 changed the topic to: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 removed the topic</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 changed the room avatar</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 changed the pinned messages.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 changed the addresses for this room.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 created and configured room: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 placed a voice call.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 placed a video call.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 placed a call.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 rejected the call.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 select answer</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 is negotiating the call...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Allow them in</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 answered the call.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>This room was replaced for the following reason: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Go to replacement room</translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 changed the parent communities for this room.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 ended the call.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Hang up</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Place a call</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Already on a call</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Send a file</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Write a message…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Stickers</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Send</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>You don&apos;t have permission to send messages in this room</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Edit</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>React</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Reply in thread</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>New thread</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Reply</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Options</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Reason for removal</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Enter reason for removal or hit enter for no reason:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copy</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Copy &amp;link location</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;act</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Repl&amp;y</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Edit</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Thread</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Un&amp;pin</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Pin</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>&amp;Read receipts</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Forward</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Mark as read</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>View raw message</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>View decrypted raw message</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Remo&amp;ve message</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Save as</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Open in external program</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Copy link to eve&amp;nt</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Go to quoted message</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Send Verification Request</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Received Verification Request</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 has requested to verify their device %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 using the device %2 has requested to be verified.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Your device (%1) has requested to be verified.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Deny</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Start verification</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Accept</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>You are about to notify the whole room</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 sent an encrypted message</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 replied: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 replied with an encrypted message</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 replied to a message</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 sent a message</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Place a call to %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>No microphone found.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Voice</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Screen</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>unimplemented event: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Permissions in %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Roles</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Users</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Move permissions between roles to change them</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Administrator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Moderator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>User (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Custom (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Remove event type</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Add event type</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Add new role</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Add</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Move users up or down to change their permissions</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Remove user</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Add user</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Apply permission changes</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Which of the subcommunities and rooms should these permissions be applied to?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Apply permissions recursively</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Overwrite exisiting modifications in rooms</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>No permissions to apply the new permissions here</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>No changes needed</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Existing modifications to the permissions in this room will be overwritten</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Permissions synchronized with community</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Failed to update powerlevel: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Failed to update powerlevel: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Other events</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Other state events</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Remove other users</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Ban other users</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Invite other users</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Redact events sent by others</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reactions</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Deprecated aliases events</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Change the room avatar</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Change the room addresses</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Send encrypted messages</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Enable encryption</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Change guest access</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Change history visibility</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Change who can join</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Send messages</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Change the room name</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Change the room permissions</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Change the rooms topic</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Change the widgets</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Change the widgets (experimental)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Redact own events</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Change the pinned events</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Upgrade the room</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Send stickers</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Ban users using policy rules</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Ban rooms using policy rules</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Ban servers using policy rules</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Edit child communities and rooms</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Change parent communities</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Start a call</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Negotiate a call</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Answer a call</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Hang up a call</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Reject a call</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Change the room emotes</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Other users</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profile</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>profile name</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Alias for &apos;--log-level trace&apos;.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>level</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>type</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Respond</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Send</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Write a message…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Read receipts</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Yesterday, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Username</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Back</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Password</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Please choose a secure password. The exact requirements for password strength may depend on your server.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Password confirmation</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Homeserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>your.server</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Your passwords do not match!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Device name</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTER</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Autodiscovery failed. Received malformed response.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Autodiscovery failed. Unknown error while requesting .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>The required endpoints were not found. Possibly not a Matrix server.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Received malformed response. Make sure the homeserver domain is valid.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>An unknown error occured. Make sure the homeserver domain is valid.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Server does not support querying registration flows!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Server does not support registration.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Invalid username.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Name already in use.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Part of the reserved namespace.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Close</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Cancel Edit</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Cancel Thread</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Explore Public Rooms</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Search for public rooms</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Choose custom homeserver</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>no version stored</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>New tag</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Enter the tag you want to use:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Open separately</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Room settings</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Leave room</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Copy room link</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Tag room as:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favourite</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Low priority</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Server notice</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Create new tag…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Add or remove from community...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Status Message</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Enter your status message:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Profile settings</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Set status message</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Logout</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Encryption not set up</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Unverified login</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Please verify your other devices</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Close</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Start a new chat</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Join a room</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Create a new room</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Start a direct chat</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Create a new community</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Room directory</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Search rooms (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>User settings</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Members of %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n person in %1</numerusform>
-            <numerusform>%n people in %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Invite more people</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Search...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Sort by: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>User ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Display name</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Power level</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Administrator: %1</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Name already in use.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Moderator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>User: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>This room is not encrypted!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>This user is verified.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>This user isn&apos;t verified, but is still using the same master key from the first time you met.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>This user has unverified devices!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Room Settings</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Change room avatar.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Change name of this room</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n member</numerusform>
-            <numerusform>%n members</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>View members of %1</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>No topic set</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Change topic of this room</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>SETTINGS</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Notifications</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Muted</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Mentions only</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>All messages</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Encryption</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>End-to-End Encryption</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-Please take note that it can&apos;t be disabled afterwards.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Permissions</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>View and change the permissions in this room</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>View and change the addresses/aliases of this room</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Sticker &amp; Emote Settings</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Change</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Hidden events</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Configure</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Anyone can join</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Allow knocking</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Allow joining via other rooms</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Rooms to join via</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Change the list of rooms users can join this room via. Usually this is the official community of this room.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Allow guests to join</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Apply access rules</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Aliases</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Change what packs are enabled, remove packs, or create new ones</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Select events to hide in this room</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Internal ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Copied to clipboard</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Room Version</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>show less</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>show more</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Failed to enable encryption: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Select an avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>All Files (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>The selected file is not an image</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Error while reading file: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Failed to upload image: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Pending invite.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Previewing this room</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>No preview available</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Please enter your login password to continue:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Please enter a valid email address to continue:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Please enter a valid phone number to continue:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Please enter the token which has been sent to you:</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Wait for the confirmation link to arrive, then continue.</translation>
+        <source>Part of the reserved namespace.</source>
+        <translation>Part of the reserved namespace.</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomInfo</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Share desktop with %1?</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>no version stored</translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Window:</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Failed to enable encryption: %1</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Frame rate:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Select an avatar</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Include your camera picture-in-picture</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>All Files (*)</translation>
     </message>
     <message>
         <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Request remote camera</translation>
+        <source>The selected file is not an image</source>
+        <translation>The selected file is not an image</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>View your callee&apos;s camera like a regular video call</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Error while reading file: %1</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Hide mouse cursor</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Failed to upload image: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Share</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Pending invite.</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Preview</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Previewing this room</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>No preview available</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation>This room is possibly inaccessible</translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Failed to connect to secret storage</translation>
     </message>
@@ -3243,62 +1236,10 @@ Please take note that it can&apos;t be disabled afterwards.</translation>
         <translation>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Encryption setup successfully</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Failed to setup encryption: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Setup Encryption</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Activate Encryption</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>verify</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>enter passphrase</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Failed to create keys for cross-signing!</translation>
     </message>
@@ -3331,19 +1272,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Failed to update image pack: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Failed to delete old image pack: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Failed to open image: %1</translation>
     </message>
@@ -3354,97 +1295,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Failed to upload image: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Add or remove from community</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Official community for this room</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Affiliated community for this room</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Listed only for community members</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Listed only for room members</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Not related</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Subcommunities</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Failed</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Sent</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Received</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Read</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Search</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Successful Verification</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verification successful!  Both sides verified their devices!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Close</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Message redaction failed: %1</translation>
@@ -3476,7 +1330,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Save file</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3760,253 +1614,96 @@ Reason: %4</translation>
         <translation>%2 unbanned %1.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 rejected the knock from %1.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 changed their avatar.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 changed some profile info.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 joined.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 joined via authorisation from %2&apos;s server.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 rejected their invite.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 left the room.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Reason: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 redacted their knock.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>You joined this room.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 made this room require an invitation to join.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 invited %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 has changed their avatar and changed their display name to %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 has changed their display name to %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 left after having already left!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 banned %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 knocked.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Edited</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Part of a thread</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>No room open</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>No preview available</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Settings</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n member</numerusform>
-            <numerusform>%n members</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>View members of %1</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>join the conversation</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>accept invite</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>decline invite</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Hide invite reason</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Show invite reason</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Back to room list</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 rejected the knock from %1.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Back to room list</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 changed their avatar.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>No room selected</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 changed some profile info.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>In %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 joined.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Show room members.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 joined via authorisation from %2&apos;s server.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>This room contains only verified devices.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 rejected their invite.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>This room contains verified devices and devices which have never changed their master key.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 left the room.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>This room contains unverified devices!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Reason: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Show or hide pinned messages</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 redacted their knock.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Search this room</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>You joined this room.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Room options</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 made this room require an invitation to join.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Invite users</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 invited %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Members</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 has changed their avatar and changed their display name to %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Leave room</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 has changed their display name to %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Settings</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 left after having already left!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Unpin</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 banned %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Enter search query</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 knocked.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Show</translation>
     </message>
@@ -4019,13 +1716,13 @@ Reason: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>No available registration flows!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Registration aborted</translation>
@@ -4041,112 +1738,10 @@ Reason: %4</translation>
         <translation>Invalid token</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Upload file</numerusform>
-            <numerusform>Upload %n files</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Global User Profile</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Room User Profile</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Change avatar globally.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Change avatar. Will only apply to this room.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Change display name globally.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Change display name. Will only apply to this room.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Room: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Open the global profile for this user.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Verify</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Start a private chat.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Kick the user.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Ban the user.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Refresh device list.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Sign out this device.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Change device name.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Last seen %1 from %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Unverify</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Sign out device %1</translation>
     </message>
@@ -4179,8 +1774,8 @@ Reason: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Default</translation>
     </message>
@@ -4188,7 +1783,7 @@ Reason: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Theme</translation>
     </message>
@@ -4257,6 +1852,11 @@ Reason: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Sort rooms by unreads</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation>Sort rooms alphabetically</translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4518,12 +2118,22 @@ Reason: %4</translation>
         <translation>Expose room information via D-Bus</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation>Periodically update community routing information</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation>Periodically delete expired events</translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Default</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Set the notification sound to play when a call invite arrives</translation>
     </message>
@@ -4596,7 +2206,25 @@ This will also enable or disable sending typing notifications to others.</source
 This will also enable or disable sending typing notifications to others.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Show buttons to quickly reply, react or access additional options next to each message.</translation>
     </message>
@@ -4650,17 +2278,17 @@ This usually causes the application icon in the task bar to animate in some fash
 This usually causes the application icon in the task bar to animate in some fashion.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Communities sidebar</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Show message counts for communities and tags</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</translation>
     </message>
@@ -4670,16 +2298,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation>Show a column containing communities and tags next to the room list.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4770,7 +2389,17 @@ This setting will take effect upon restart.</source>
 This setting will take effect upon restart.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Select a file</translation>
     </message>
@@ -4780,7 +2409,7 @@ This setting will take effect upon restart.</translation>
         <translation>All Files (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Open Sessions File</translation>
     </message>
@@ -4822,117 +2451,18 @@ This setting will take effect upon restart.</translation>
         <translation>File to save the exported session keys</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>REQUEST</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>DOWNLOAD</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>CACHED</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NOT CACHED</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Back</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORT</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORT</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Waiting for other party…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Waiting for other side to accept the verification request.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Waiting for other side to continue the verification process.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Waiting for other side to complete the verification process.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Welcome to Nheko! The desktop client for the Matrix protocol.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Enjoy your stay!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTER</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>LOGIN</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Reduce animations</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Yesterday</translation>
     </message>
@@ -4940,7 +2470,7 @@ This setting will take effect upon restart.</translation>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Open Fallback in Browser</translation>
     </message>
@@ -4961,32 +2491,52 @@ This setting will take effect upon restart.</translation>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Open reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation>People</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Cancel</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation>Nature</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Confirm</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation>Food</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Solve the reCAPTCHA and press the confirm button</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation>Activity</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation>Travel</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation>Objects</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation>Symbols</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation>Flags</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>You sent an audio clip</translation>
     </message>
@@ -5047,25 +2597,25 @@ This setting will take effect upon restart.</translation>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>You: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>You sent some confetti</translation>
+        <source>You sent a chat effect</source>
+        <translation>You sent a chat effect</translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 sent some confetti</translation>
+        <source>%1 sent a chat effect</source>
+        <translation>%1 sent a chat effect</translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_eo.ts b/resources/langs/nheko_eo.ts
index c87e169a0fc6e4cf3af458a4fdfeba951e8d4144..e91e5e9e9ef5e274634dc96a7ed925151b513fb1 100644
--- a/resources/langs/nheko_eo.ts
+++ b/resources/langs/nheko_eo.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="eo">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Vokante…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Konektante…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Vi vidigas vian ekranon.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Kaŝi/Montri «bildon en bildo»</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Malsilentigi mikrofonon</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Silentigi mikrofonon</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Malsukcesis ĝisdatigi kromnomojn: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Kromnomoj de %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Listo de kromnomo por ĉi tiu ĉambro. Ordinare oni povas nur aldoni kromnomojn por sia servilo. Oni povas havi unu ĉefan kromnomon, kaj multajn alternativajn kromnomojn.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Ĉefa kromnomo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Ĉefigi kromnomon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Reklami kromnomon en ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Publikigi kromnomon en katalogo de ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Forigi tiun ĉi kromnomon</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#nova-kromnomo:servilo.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Aldoni</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Agordoj de enirrajtigaj ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Listo de ĉambroj, kiuj rajtigas onin eniri ĉi tiun ĉambron. Ĉiu, kiu estas en iu el tiuj ĉambroj, rajtas eniri ĉi tiun ĉambron.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Patra komunumo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Alia ĉambro</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Enigi pliajn ĉambrojn, kiuj ne jam estas en la listo…</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 kaj %n alia</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Malplena ĉambro</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Vidvoko</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Voĉvoko</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Neniu mikrofono troviĝis.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Vidvoko</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Voĉvoko</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Aparatoj</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Akcepti</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Nekonata mikrofono: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Nekonata filmilo: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Rifuzi</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Neniu mikrofono troviĝis.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Tuta ekrano</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Malsukcesis inviti uzanton: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Invitita uzanto: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Konfirmi adiaÅ­on</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>La kaŝmemoro sur via disko pli novas, ol tio, kion povas subteni ĉi tiu versio de Nheko. Bonvolu ĝisdatigi Nhekon aŭ vakigi vian kaŝmemoron.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Malsukcesis malfermi datumbazon; adiaÅ­as!</translation>
     </message>
@@ -269,12 +117,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Konfirmu inviton</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Ĉu vi certe volas inviti uzanton %1 (%2)?</translation>
     </message>
@@ -319,12 +167,12 @@
         <translation>Malforbaris uzanton: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Ĉu vi certe volas komenci privatan babilon kun %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Malsukcesis migrado de kaŝmemoro!</translation>
     </message>
@@ -348,7 +196,7 @@ Se vi opinias tion erara, vi povas anstataÅ­e fermi Nhekon, por eble reakiri via
         <translation>Neakorda versio de kaŝmemoro</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Malsukcesis rehavi konton je OLM. Bonvolu resaluti.</translation>
     </message>
@@ -422,16 +270,11 @@ Vi povas aldoni noton, pri kial oni akceptu vian frapadon:</translation>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Enigu kialon de forbaro de %1 (%2) aÅ­ premu enigan klavon por vaka kialo:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Neniu retkonekto</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;mesaĝo&gt;</translation>
     </message>
@@ -542,6 +385,16 @@ Vi povas aldoni noton, pri kial oni akceptu vian frapadon:</translation>
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;indiko de mesaĝo&gt;</translation>
     </message>
@@ -681,6 +534,16 @@ Vi povas aldoni noton, pri kial oni akceptu vian frapadon:</translation>
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Sendi mesaĝon en koloroj de ĉielarko kun konfetoj.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -697,33 +560,10 @@ Vi povas aldoni noton, pri kial oni akceptu vian frapadon:</translation>
         <translation>Malindividuigi ĉi tiun ĉambron.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Ne montri nombron de sciigoj por ĉi tiu komunumo aŭ etikedo.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Kaŝi ĉambrojn de ĉi tiu etikedo aŭ komunumo implicite.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Etendi</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Maletendi</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Ĉiuj ĉambroj</translation>
     </message>
@@ -773,7 +613,7 @@ Vi povas aldoni noton, pri kial oni akceptu vian frapadon:</translation>
         <translation>Mesaĝoj de via servilo aŭ administranto.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Malsukcesis ĝisdatigi komunumon: %1</translation>
     </message>
@@ -794,2443 +634,600 @@ Vi povas aldoni noton, pri kial oni akceptu vian frapadon:</translation>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Konfirmi aliĝon al komunumo</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Malĉifri sekretojn</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Konfirmi aliĝon al ĉambro</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Enigu vian rehavan ŝlosilon aŭ pasfrazon por malĉifri viajn sekretojn:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n ano</numerusform>
-            <numerusform>%n anoj</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Enigu vian rehavan ŝlosilon aŭ pasfrazon kun nomo %1 por malĉifri viajn sekretojn:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Ĉu vi volas aliĝi al ĉi tiu ĉambro? Vi povas aldoni malnepran mesaĝon sube:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Malsukcesis malĉifrado</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Vi ne povas aliĝi al ĉi tiu ĉambro rekte. Vi tamen povas frapi al la ĉambro, kaj la ĉambranoj povas akcepti aŭ malakcepti tian peton pri aliĝo. Vi povas aldoni noton pri kial ili lasu vin eniri:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Malsukcesis malĉifri sekretojn per la donitaj rehava ŝlosilo aŭ pasfrazo</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Frapi</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Malsukcesis agordi kaŝitajn okazojn: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Aliĝi</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Krei individuan ĉambron</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Malsukcesis agordi kaŝitajn okazojn: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Identigilo de invitota uzanto</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Ĉiuj dosieroj (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@uzanto:servilo.retnomo</translation>
+        <location line="+0"/>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Ĉifrado</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Alŝuto de «%1» malsukcesis</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Krei ĉambron</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Vi enigis nevalidan identigilon de Matrikso  ekz. @tacuo:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Nomo</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Malsukcesis memaga trovado. Ricevis misformitan respondon.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Nova komunumo</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Malsukcesis memaga trovado. Okazis nekonata eraro dum petado. .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Nova ĉambro</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>La bezonataj konektaj lokoj ne troviĝis. Eble tio ne estas Matriksa servilo.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Neniu nomo</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Ricevis misformitan respondon. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Temo</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Okazis nekonata eraro. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Neniu temo</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>La elektita servilo ne subtenas la version de la Matriksa protokolo, kiun komprenas ĉi tiu kliento (v1.1 ĝis v1.5). Vi ne povas saluti.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Kromnomo</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Saluti per Apple</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Publika</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Pluiĝi per Facebook</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Ĉiu povas aliĝi al ĉambroj publikaj; ĉambroj privataj postulas invitojn.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Saluti per Google</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Fidata</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Saluti per Twitter</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Ĉiuj invitotoj ricevos la saman povnivelon, kiel la kreinto.</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Saluti per %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Ĉifrado</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>UNUNURA SALUTO</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Averto: Ne eblas malŝalti ĉifradon!</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Malplena pasvorto</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Malsukcesis ununura saluto</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Malĉifri sekretojn</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Malsukcesis alŝuti vidaŭdaĵojn. Bonvolu reprovi.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Enigu vian rehavan ŝlosilon aŭ pasfrazon por malĉifri viajn sekretojn:</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Enigu vian rehavan ŝlosilon aŭ pasfrazon kun nomo %1 por malĉifri viajn sekretojn:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 sendis ĉifritan mesaĝon</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Malsukcesis malĉifrado</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 respondis: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Malsukcesis malĉifri sekretojn per la donitaj rehava ŝlosilo aŭ pasfrazo</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 respondis per ĉifrita mesaĝo</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Kontrolkodo</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 respondis al mesaĝo</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Bonvolu kontroli la sekvantajn ciferojn.  Vi devus vidi la samajn numerojn ambaŭflanke.  Se ili malsamas, bonvolu premi «Ili ne akordas!» por nuligi la kontrolon!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 sendis mesaĝon</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Ili ne akordas!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Malsukcesis ŝanĝi povnivelon: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ili akordas!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Malsukcesis ŝanĝi povnivelon: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Serĉu</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Aliaj okazoj</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Homoj</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Aliaj statokazoj</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Naturo</translation>
+        <source>Remove other users</source>
+        <translation>Forigi aliajn uzantojn</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Manĝaĵo</translation>
+        <source>Ban other users</source>
+        <translation>Forbari aliajn uzantojn</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktiveco</translation>
+        <source>Invite other users</source>
+        <translation>Inviti aliajn uzantojn</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Vojaĝoj</translation>
+        <source>Redact events sent by others</source>
+        <translation>Forigi okazojn senditajn de aliuloj</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objektoj</translation>
+        <source>Reactions</source>
+        <translation>Reagoj</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Simboloj</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Okazoj pri forlasitaj kromnomoj</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Flagoj</translation>
+        <source>Change the room avatar</source>
+        <translation>Ŝanĝi bildon de la ĉambro</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Kontrolkodo</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Ŝanĝi adresojn de la ĉambro</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Bonvolu kontroli per la jenaj bildosignoj. Vi devus vidi la samajn bildosignojn ambaŭflanke. Se ili malsamas, bonvolu premi «Ili ne akordas!» por nuligi la kontrolon!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Sendi ĉifritajn mesaĝojn</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>La montrotaj bildosignoj povas aspekti malsame en malsamaj klientoj, se malsama tiparo estos uzata. Simile, ili povas malsame tradukiĝi al malsamaj lingvoj. Tamen ili devus montri po unu el 64 malsamaj objektoj aŭ bestoj. Ekzemple, leono kaj kato estas malsamaj, sed kato plu estas kato, eĉ se unu kliento montras nur la vizaĝon, kaj alia kliento montras la tutan korpon de la kato.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Ŝalti ĉifradon</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Ili ne akordas!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Ŝanĝi aliron de gastoj</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ili akordas!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Ŝanĝi videblecon de historio</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Estas neniu ŝloslio por malŝlosi ĉi tiun mesaĝon. Ni petis ĝin memage, sed vi povas provi repeti ĝin, se vi rapidas.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Ŝanĝi enireblecon</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Ne povis malĉifri ĉi tiun mesaĝon, ĉar ni havas nur ŝlosilon por pli novaj. Vi povas provi peti aliron al ĉi tiu mesaĝo.</translation>
+        <source>Send messages</source>
+        <translation>Sendi mesaĝojn</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Eraris interne legado de malĉifra ŝlosilo el la datumbazo.</translation>
+        <source>Change the room name</source>
+        <translation>Ŝanĝi nomon de ĉambro</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Eraris malĉifrado de ĉi tiu mesaĝo.</translation>
+        <source>Change the room permissions</source>
+        <translation>Ŝanĝi permesojn de ĉambro</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Ne povis trakti la mesaĝon.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Ŝanĝi temon de ĉambro</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>La ĉifra ŝlosilo estas reuzita! Eble iu provas enmeti falsitajn mesaĝojn en la babilon!</translation>
+        <source>Change the widgets</source>
+        <translation>Ŝanĝi la fenestraĵojn</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Nekonata malĉifra eraro</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Ŝanĝi la fenestraĵojn (eksperimenta)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Peti ŝlosilon</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Forigi proprajn okazojn</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 ŝaltis tutvojan ĉifradon</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Ŝanĝi la fiksitajn okazojn</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Gradaltigi la ĉambron</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Ĉi tiu mesaĝo ne estas ĉifrita!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Sendi glumarkojn</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Ĉifrita de kontrolita aparato</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Forbari uzantojn per politikaj reguloj</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Ĉifrita de nekontrolita aparato, sed vi fidis je tiu uzanto ĝis nun.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Forbari ĉambrojn per politikaj reguloj</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Ĉifrita de nekontrolita aparato, aŭ per ŝlosilo de nefidata fonto, ekzemple la deponejo de ŝlosiloj.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Forbari servilojn per politikaj reguloj</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Malsukcesis kontrolo</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Redakti idajn komunumojn kaj ĉambrojn</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Alia kliento ne subtenas nian kontrolan protokolon.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Ŝanĝi patrajn komunumojn</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Troviĝis malakordo de ŝlosiloj!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Komenci vokon</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Trafiĝis tempolimo de aparata kontrolo.</translation>
+        <source>Negotiate a call</source>
+        <translation>Trakti vokon</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Aliulo nuligis la kontrolon.</translation>
+        <source>Answer a call</source>
+        <translation>Respondi vokon</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Kontrolaj mesaĝoj riceviĝis ekster ordo!</translation>
+        <source>Hang up a call</source>
+        <translation>Fini vokon</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Nekonata eraro de kontrolo.</translation>
+        <source>Reject a call</source>
+        <translation>Malakcepti vokon</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Fermi</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Ŝanĝi mienetojn de la ĉambro</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Plusendi mesaĝon</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Aliaj uzantoj</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Malsukcesis agordi kaŝitajn okazojn: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Krei unikan profilon, kiu ebligos saluton al pluraj kontoj samtempe, kaj starton de pluraj nhekoj.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Kaŝitaj okazoj por %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profilo</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Kaŝitaj okazoj</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>nomo de profilo</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Ĉi tiuj okazoj &lt;b&gt;montriĝos&lt;/b&gt; en %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Kromnomo de «--log-level trace».</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Ĉi tiuj okazoj &lt;b&gt;montriĝos&lt;/b&gt; en ĉiuj ĉambroj:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Agordi la tutprograman nivelon de protokolado, aŭ diskomitan liston de paroj &lt;parto&gt;=&lt;nivelo&gt;, aŭ ambaŭ. Ekzemple, por implici la protokolan nivelon »warn«, sed malŝalti protokoladon por la parto »ui«, metu »warn,ui=off«. Disponeblaj niveloj: {trace,debug,info,warning,error,critical,off}, partoj: {crypto,db,mtx,net,qml,ui}.</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Okazoj pri uzantoj</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>nivelo</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Aliĝoj, foriroj, ŝanĝoj de nomo aŭ profilbildo, forbaroj…</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Agordi la specon de protokola eligo. Diskomita listo estas permesita. La implicita estas »file,stderr«. Specoj: {file,stderr,none}.</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Ŝanĝoj de povniveloj</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>speco</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Respondi</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Sendiĝas kiam reguligisto aliĝas/foriĝas, aŭ kiam permesoj de ĉambro ŝanĝiĝas.</translation>
+        <source>Send</source>
+        <translation>Sendi</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Glumarkoj</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Skribu mesaĝon…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Redaktado de bildopako</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>HieraÅ­, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Aldoni bildojn</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Malsukcesis memaga trovado. Ricevis misformitan respondon.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Bildoj (*.png *.webp *.gif *.jpg *.jpeg)</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Elekti bildojn por pako</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Malsukcesis memaga trovado. Okazis nekonata eraro dum petado. .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Aldoni al pako</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>La bezonataj konektaj lokoj ne troviĝis. Eble tio ne estas Matriksa servilo.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Ŝanĝi reprezentan bildon de ĉi tiu pako</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Ricevis misformitan respondon. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Reprezenta bildo (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Okazis nekonata eraro. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Elekti reprezentan bildon de pako</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>La elektita servilo ne subtenas version de la Matriksa protokolo, kiun komprenas ĉi tiu kilento (v1.1 ĝis v1.5). Vi ne povas registriĝi.</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Identigilo (stata ŝlosilo)</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Servilo ne subtenas esploradon de registriĝaj metodoj!</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Nomo de pako</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Servilo ne subtenas registriĝon.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Atribuo</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Nevalida uzantonomo.</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Uzi kiel bildosignon</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Uzi kiel glumarkon</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Mallongigo</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Korpo</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Forigi de pako</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Forigi</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Agordoj de bildopako</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Krei kontan pakon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Nova ĉambra pako</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Privata pako</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Pakoj el ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Pako el patra komunumo</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Ĉie ŝaltita pako</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Ŝalti ĉie</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Ŝaltas ĉi tiun pakon por uzo en ĉiuj ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Redakti</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Fermi</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Ĉiuj dosieroj (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Alŝuto de «%1» malsukcesis</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Invitu uzantojn al %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@tacuo:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Serĉi uzanton</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Serĉi en servilo</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Inviti</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Nuligi</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Aliĝi al ĉambro</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Identigilo aŭ kromnomo de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Aliĝi</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Eliri el ĉambro</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Ĉu vi certas, ke vi volas eliri?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Identigilo de Matrikso</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>ekz. @tacuo:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Via saluta nomo. Identigilo de matrikso komenciĝu per «@», sekvata de via identigilo de uzanto. Post la identigilo, vi devas meti la nomon de via servilo post «:».
-Vi ankaÅ­ povas tien meti adreson de via hejmservilo, se via servilo ne subtenas bone konatan trovmanieron.
-Ekzemplo: @uzanto:servilo.mia
-Se Nheko malsukcesos trovi vian hejmservilon, ĝi montros kampon, kien vi povos meti ĝian adreson permane.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Pasvorto</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Via pasvorto.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Aparata nomo</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Nomo por ĉi tiu aparato, kiu montriĝos al aliaj uzantoj, kiam ili kontrolos viajn aparatojn. Se nenio estos donita, uziĝos nomo implicita.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>La adreso, per kiu oni povas kontakti la API-on de via hejmservilo.
-Ekzemplo: https://servilo.mia:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Adreso de hejmservilo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>servilo.mia:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translatorcomment>Maybe shouldn&apos;t be imperative?</translatorcomment>
-        <translation>SALUTI</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Reen</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Vi enigis nevalidan identigilon de Matrikso  ekz. @tacuo:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Malsukcesis memaga trovado. Ricevis misformitan respondon.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Malsukcesis memaga trovado. Okazis nekonata eraro dum petado. .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>La bezonataj konektaj lokoj ne troviĝis. Eble tio ne estas Matriksa servilo.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Ricevis misformitan respondon. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Okazis nekonata eraro. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>La elektita servilo ne subtenas la version de la Matriksa protokolo, kiun komprenas ĉi tiu kliento (v1.1 ĝis v1.5). Vi ne povas saluti.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Saluti per Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Pluiĝi per Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Saluti per Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Saluti per Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Saluti per %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>UNUNURA SALUTO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Malplena pasvorto</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Malsukcesis ununura saluto</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>AdiaÅ­i</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Okazas voko nun. Ĉu tamen adiaŭi?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Ĉu vi certas, ke vi volas adiaŭi?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Malsukcesis alŝuti vidaŭdaĵojn. Bonvolu reprovi.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Ĉi tiu ĉambro anstataŭiĝis pro la jena kialo: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Iri al la anstataŭa ĉambro</translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 forigis mesaĝon</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 ŝanĝis nomon de la ĉambro al: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 forigis nomon de la ĉambro</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 ŝanĝis la temon al: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 forigis la temon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 ŝanĝis bildon de la ĉambro</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 ŝanĝis la fiksitajn mesaĝojn.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 ŝanĝis la adresojn de ĉi tiu ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 ŝanĝis la patrajn komunumojn por ĉi tiu ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 kreis kaj agordis ĉambron: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 voĉvokis.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 vidvokis.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 vokis.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 respondis la vokon.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 malakceptis la vokon.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 elektis respondon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 finis la vokon.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 traktas la vokon…</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Enlasi ĝin</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Fini</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Voki</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Jam vokas</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Sendi dosieron</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Skribu mesaĝon…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Glumarkoj</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Bildosignoj</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Sendi</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Vi ne rajtas sendi mesaĝojn en ĉi tiu ĉambro</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Redakti</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reagi</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Respondi fadene</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Nova fadeno</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Respondi</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Elektebloj</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Kialo de forigo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Enigu kialon de forigo aÅ­ premu enigan klavon por vaka kialo:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopii</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Kopii celon de &amp;ligilo</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;agi</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Re&amp;spondi</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>R&amp;edakti</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Fadeno</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Mal&amp;fiksi</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Fiksi</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>K&amp;vitancoj</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Plusendi</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Marki legita</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Vidi krudan mesaĝon</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Vidi malĉifritan krudan mesaĝon</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>&amp;Forigi mesaĝon</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>Kon&amp;servi kiel</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Malfermi per aparta programo</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Kopii ligilon al oka&amp;zo</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Iri al citita mesaĝo</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Sendi kontrolpeton</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Ricevita kontrolpeto</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Por lasi aliajn uzantojn vidi, kiuj el viaj aparatoj fakte apartenas al vi, vi povas tiujn kontroli. Tio ankaŭ ebligas memagan savkopiadon de ŝlosiloj. Ĉu vi volus kontroli nekontrolitan aparaton nun? (Bonvolu certiĝi, ke almenaŭ unu el tiuj aparatoj estas disponebla.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Por povigi aliajn uzantojn vidi, kiuj el viaj aparatoj fakte apartenas al vi, vi povas tiujn kontroli. Tio ankaŭ ebligas memagan savkopiadon de ŝlosiloj. Ĉu vi nun volus kontroli la aparaton %1?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Por certigi, ke neniu malica uzanto subaŭskultas vian ĉifritan komunikadon, vi povas kontroli la kunparolanton.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 petis kontrolon de sia aparato %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 petis kontrolon per la aparato %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Via aparato (%1) petis kontrolon.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Nuligi</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Rifuzi</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Komenci kontrolon</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Akcepti</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Vi atentigos la tutan ĉambron</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 sendis ĉifritan mesaĝon</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 respondis: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 respondis per ĉifrita mesaĝo</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 respondis al mesaĝo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 sendis mesaĝon</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Ĉu voki al %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Neniu mikrofono troviĝis.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Voĉe</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Vide</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Ekrane</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Nuligi</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>neprogramita okazo: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Permesoj en %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Redaktu permesojn nur tre atente. Vi ne povas malaltigi permesojn de personoj, kies nivelo superas aÅ­ egalas la vian. Altigu nivelon de aliuloj nur tre atente.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Roloj</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Uzantoj</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Movu permesojn inter roloj por ilin ŝanĝi</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Administranto (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Reguligisto (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Uzanto (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Propra (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Forigi specon de okazo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Aldoni specon de okazo</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Aldoni novan rolon</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Aldoni</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Movu uzantojn supren aŭ malsupren por ŝanĝi iliajn permesojn</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Forigi uzanton</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Aldoni uzanton</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Efektivigi ŝanĝojn de permesoj</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Por kiuj subkomunumoj kaj ĉambroj efektiviĝu ĉi tiuj permesoj?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Efektivigi permesojn profunde</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Ŝanĝi eĉ jamajn ŝanĝojn en ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Mankas permesoj efektivigi la novajn permesojn tie ĉi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Neniuj ŝanĝoj necesas</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Jamaj ŝanĝoj al la permesoj en ĉi tiu ĉambro ankaŭ estos ŝanĝitaj</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Permesoj speguliĝis en la komunumo</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Malsukcesis ŝanĝi povnivelon: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Malsukcesis ŝanĝi povnivelon: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Aliaj okazoj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Aliaj statokazoj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Forigi aliajn uzantojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Forbari aliajn uzantojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Inviti aliajn uzantojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Forigi okazojn senditajn de aliuloj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reagoj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Okazoj pri forlasitaj kromnomoj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Ŝanĝi bildon de la ĉambro</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Ŝanĝi adresojn de la ĉambro</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Sendi ĉifritajn mesaĝojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Ŝalti ĉifradon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Ŝanĝi aliron de gastoj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Ŝanĝi videblecon de historio</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Ŝanĝi enireblecon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Sendi mesaĝojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Ŝanĝi nomon de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Ŝanĝi permesojn de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Ŝanĝi temon de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Ŝanĝi la fenestraĵojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Ŝanĝi la fenestraĵojn (eksperimenta)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Forigi proprajn okazojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Ŝanĝi la fiksitajn okazojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Gradaltigi la ĉambron</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Sendi glumarkojn</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Forbari uzantojn per politikaj reguloj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Forbari ĉambrojn per politikaj reguloj</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Forbari servilojn per politikaj reguloj</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Redakti idajn komunumojn kaj ĉambrojn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Ŝanĝi patrajn komunumojn</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Komenci vokon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Trakti vokon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Respondi vokon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Fini vokon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Malakcepti vokon</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Ŝanĝi mienetojn de la ĉambro</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Aliaj uzantoj</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Krei unikan profilon, kiu ebligos saluton al pluraj kontoj samtempe, kaj starton de pluraj nhekoj.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profilo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>nomo de profilo</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Kromnomo de «--log-level trace».</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Agordi la tutprograman nivelon de protokolado, aŭ diskomitan liston de paroj &lt;parto&gt;=&lt;nivelo&gt;, aŭ ambaŭ. Ekzemple, por implici la protokolan nivelon »warn«, sed malŝalti protokoladon por la parto »ui«, metu »warn,ui=off«. Disponeblaj niveloj: {trace,debug,info,warning,error,critical,off}, partoj: {crypto,db,mtx,net,qml,ui}.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>nivelo</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Agordi la specon de protokola eligo. Diskomita listo estas permesita. La implicita estas »file,stderr«. Specoj: {file,stderr,none}.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>speco</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Respondi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Sendi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Skribu mesaĝon…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Kvitancoj</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>HieraÅ­, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Uzantonomo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>La uzantonomo devas ne esti malplena, kaj devas enhavi nur la signojn a–z, 0–9, ., _, =, -, kaj /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Reen</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Pasvorto</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Bonvolu elekti sekuran pasvorton. Precizaj postuloj por ĝia fortikeco povus dependi de via servilo.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Pasvorta konfirmo</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Nomo por ĉi tiu aparato, kiu montriĝos al aliuloj kontrolantaj viajn aparatojn. Se nenio estos donita, implicita nomo estos uzata.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Hejmservilo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>via.servilo</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Servilo, kiu permesas registriĝon. Ĉar Matrikso estas federa, vi bezonas unue trovi servilon, kie vi povus registriĝi, aŭ gastigi vian propran.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Viaj pasvortoj ne akordas!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nomo de aparato</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTRIÄœI</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Malsukcesis memaga trovado. Ricevis misformitan respondon.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Malsukcesis memaga trovado. Okazis nekonata eraro dum petado. .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>La bezonataj konektaj lokoj ne troviĝis. Eble tio ne estas Matriksa servilo.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Ricevis misformitan respondon. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Okazis nekonata eraro. Certiĝu, ke retnomo de la hejmservilo estas valida.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>La elektita servilo ne subtenas version de la Matriksa protokolo, kiun komprenas ĉi tiu kilento (v1.1 ĝis v1.5). Vi ne povas registriĝi.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Servilo ne subtenas esploradon de registriĝaj metodoj!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Servilo ne subtenas registriĝon.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Nevalida uzantonomo.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>La nomo jam estas uzata.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Parto de la rezervita nomspaco.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Fermi</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Nuligi redakton</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Nuligi fadenon</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Esplori publikajn ĉambrojn</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Serĉi publikajn ĉambrojn</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Elekti propran hejmservilon</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>neniu versio konservita</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Nova etikedo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Enigu la etikedon, kiun vi volas uzi:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Malfermi aparte</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Agordoj de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Eliri el ĉambro</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Kopii ligilon al ĉambro</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Etikedi ĉambron:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Elstara</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Malalta prioritato</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Avizo de servilo</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Krei novan etikedon…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Aldoni al aŭ forigi de komunumo…</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Statmesaĝo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Enigu vian statmesaĝon:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Agordoj de profilo</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Meti statmesaĝon</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>AdiaÅ­i</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Ĉifrado ne jam agordiĝis</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Nekontrolita saluto</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Bonvolu kontroli aliajn viajn aparatojn</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Fermi</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Komenci novan babilon</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Aliĝi al ĉambro</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Krei novan ĉambron</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Krei individuan ĉambron</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Krei novan komunumon</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Katalogo de ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Serĉi ĉambrojn (Stir+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Agordoj de uzanto</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Anoj de %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n persono en %1</numerusform>
-            <numerusform>%n personoj en %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Inviti pliajn personojn</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Serĉi…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Ordigi laÅ­: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>Identigilo de uzanto</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Prezenta nomo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Povnivelo</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Administranto: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Reguligisto: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Uzanto: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Ĉi tiu ĉambro ne estas ĉifrata!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Ĉi tiu uzanto estas kontrolita.</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>La nomo jam estas uzata.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Ĉi tiu uzanto ne estas kontrolita, sed ankoraŭ uzas la saman ĉefan ŝlosilon ekde kiam vi renkontiĝis.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Ĉi tiu uzanto havas nekontrolitajn aparatojn!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Agordoj de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Ŝanĝi bildon de ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Ŝanĝi nomon de ĉi tiu ĉambro</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n ano</numerusform>
-            <numerusform>%n anoj</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Montri anojn de %1</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Neniu metita temo</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Ŝanĝi temon de ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>AGORDOJ</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Sciigoj</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Neniuj</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Nur mencioj</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Ĉiuj mesaĝoj</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Ĉifrado</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Tutvoja ĉifrado</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Ĉifrado nun estas eksperimenta, kaj io povus rompiĝi neatendite.&lt;br&gt;
-Bonvolu scii, ke ĉifrado ne povas esti malŝaltita poste.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Permesoj</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Vidi kaj redakti permesojn en ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Vidi kaj ŝanĝi la adresojn/kromnomojn de ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Agordoj de glumarkoj kaj mienetoj</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Ŝanĝi</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Kaŝitaj okazoj</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Agordi</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Ĉiu povas aliĝi</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Permesi frapadon</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Permesi aliĝon tra aliaj ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Traaliĝotaj ĉambroj</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Ŝanĝi liston de ĉambroj, tra kiuj oni povos aliĝi al ĉi tiu. Ordinare tio estas la oficiala komunumo de ĉi tiu ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Permesi al gastoj aliĝi</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Efektivigi regulojn pri aliro</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Kromnomoj</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Åœalti, forigi, aÅ­ krei novajn pakojn</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Elekti kaŝotajn okazojn en ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFORMOJ</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Interna identigilo</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Kopiiĝis al tondujo</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Versio de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>montri malpli</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>montri pli</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Malsukcesis ŝalti ĉifradon: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Elektu bildon de ĉambro</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Ĉiuj dosieroj (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>La elektita dosiero ne estas bildo</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Eraris legado de dosiero: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Malsukcesis alŝuti bildon: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Atendanta invito.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Antaŭrigardante ĉi tiun ĉambron</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Neniu antaÅ­rigardo disponeblas</translation>
+        <source>Part of the reserved namespace.</source>
+        <translation>Parto de la rezervita nomspaco.</translation>
     </message>
 </context>
 <context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Bonvolu enigi vian pasvorton por daÅ­rigi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Bonvolu enigi validan retpoŝtadreson por daŭrigi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Bonvolu enigi validan telefonnumeron por daÅ­rigi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Bonvolu enigi la datumon, kiu sendiĝis al vi:</translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Atendu venon de la konfirma ligilo, kaj poste daÅ­rigu.</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>neniu versio konservita</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Ĉu montri la labortablon al %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Malsukcesis ŝalti ĉifradon: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Fenestro:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Elektu bildon de ĉambro</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Filmerrapido:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Ĉiuj dosieroj (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Enigi vian filmilon en la filmon</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>La elektita dosiero ne estas bildo</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Peti foran filmilon</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Eraris legado de dosiero: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Vidi la filmilon de via vokato kiel en ordinara vidvoko</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Malsukcesis alŝuti bildon: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Kaŝi musmontrilon</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Atendanta invito.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Vidigi</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Antaŭrigardante ĉi tiun ĉambron</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>AntaÅ­rigardi</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Neniu antaÅ­rigardo disponeblas</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Nuligi</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Malsukcesis konektiĝi al sekreta deponejo</translation>
     </message>
@@ -3240,62 +1237,10 @@ Bonvolu scii, ke ĉifrado ne povas esti malŝaltita poste.</translation>
         <translation>Nheko ne povis konektiĝi al la sekura deponejo por deponi sekretojn. Tio povas okazi diverskiale. Kontrolu, ke via servo D-Bus funkcias, kaj ke vi havas agorditan servon kiel KWallet, GNOME Keyring, KeePassXC, aŭ similan por via platformo. Se vi tamen havas problemojn, vi povas raporti ilin tie ĉi: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Jen via rehava ŝlosilo. Vi bezonos ĝin por rehavi aliron al viaj ĉifritaj mesaĝoj kaj kontrolaj ŝlosiloj. Tenu ĝin sekura. Ne havigu ĝin al iu ajn, kaj ne perdu ĝin! Ne paŝu sur la herbotapiŝon!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Ĉifrado agordiĝis sukcese</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Malsukcesis agordi ĉifradon: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Agordi ĉifradon</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Saluton kaj bonvelu al Matrikso!
-Ŝajnas, ke vi novas. Antaŭ ol vi povos sekure ĉifri viajn mesaĝojn, ni bezonas agordi kelkajn aferojn. Vi povas tuj premi la butonon akcepti, aŭ unue agordi kelkajn elektojn. Ni ankaŭ provas komprenigi al vi kelkajn bazajn principojn. Vi povas preterpasi la komprenigon, sed ĝi povus esti utila!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Ŝalti ĉifradon</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Ŝajnas, ke ĉifrado ne jam estas ŝaltita por ĉi tiu konto. Por ke vi povu aliri viajn ĉifritajn mesaĝojn kaj aperigi la aparaton fidata, vi povas aŭ kontroli per jama aparato (se vi havas tian), aŭ enigi vian rehavan pasfrazon. Bonvolu elekti unu elekteblon sube.
-Se vi elektos kontrolon, vi devos havi alian aparaton disponeblan. Se vi elektos enigon de pasfrazo, vi bezonos viajn rehavajn ŝlosilon aŭ pasfrazon. Se vi nuligos, vi ankoraŭ povos komenci la kontrolon pli poste.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>kontroli</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>enigi pasfrazon</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Malsukcesis krei delege subskribajn ŝlosilojn!</translation>
     </message>
@@ -3328,19 +1273,19 @@ Se vi elektos kontrolon, vi devos havi alian aparaton disponeblan. Se vi elektos
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Malsukcesis ĝisdatigi bildopakon: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Malsukcesis forigi malnovan bildopakon: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Malsukcesis malfermi bildon: %1</translation>
     </message>
@@ -3351,98 +1296,10 @@ Se vi elektos kontrolon, vi devos havi alian aparaton disponeblan. Se vi elektos
         <translation>Malsukcesis alŝuti bildon: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Aldoni al aÅ­ forigi de komunumo</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Oficiala komunumo por ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Parenca komunumo por ĉi tiu ĉambro</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Listigita nur por komunumanoj</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Listigita nur por ĉambranoj</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Nerilata</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Subkomunumoj</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Estas malsukcesa</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Estas sendita</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Estas ricevita</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translatorcomment>Could this simply be &quot;lega&quot;?</translatorcomment>
-        <translation>Estas legita</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Serĉu</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Sukcesis kontrolo</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Sukcesis kontrolo! AmbaÅ­ flankoj kontrolis siajn aparatojn!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Fermi</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Malsukcesis redaktado de mesaĝo: %1</translation>
@@ -3474,7 +1331,7 @@ Se vi elektos kontrolon, vi devos havi alian aparaton disponeblan. Se vi elektos
         <translation>Konservi dosieron</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3758,254 +1615,97 @@ Kialo: %4</translation>
         <translation>%2 malforbaris uzanton %1.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 malakceptis la frapadon de %1.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translatorcomment>%1 ŝanĝis sian avataron.</translatorcomment>
-        <translation>%1 ŝanĝis sian profilbildon.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 ŝanĝis iujn informojn en profilo.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 aliĝis.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 aliĝis per rajtigo de servilo de %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 rifuzis sian inviton.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 eliris el la ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Kialo: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 forigis sian frapon.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Vi aliĝis ĉi tiun ĉambron.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 necesigis inviton por aliĝo al ĉi tiu ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 invitis uzanton %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 ŝanĝis sian profilbildon kaj sian prezentan nomon al %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 ŝanĝis sian prezentan nomon al %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 eliris jam elirinte!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 forbaris uzanton %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 frapis.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Redaktita</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Parto de fadeno</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Neniu ĉambro estas malfermita</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Neniu antaÅ­rigardo disponeblas</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Agordoj</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n ano</numerusform>
-            <numerusform>%n anoj</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Montri anojn de %1</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>aliĝi al interparolo</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>akcepti inviton</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>rifuzi inviton</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Kaŝi kialon de invito</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Montri kialon de invito</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Reen al listo de ĉambroj</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 malakceptis la frapadon de %1.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Reen al listo de ĉambroj</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translatorcomment>%1 ŝanĝis sian avataron.</translatorcomment>
+        <translation>%1 ŝanĝis sian profilbildon.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Neniu ĉambro estas elektita</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 ŝanĝis iujn informojn en profilo.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>En %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 aliĝis.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Montri ĉambranojn.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 aliĝis per rajtigo de servilo de %2.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Ĉi tiu ĉambro enhavas nur kontrolitajn aparatojn.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 rifuzis sian inviton.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Ĉi tiu ĉambro enhavas kontrolitajn aparatojn kaj aparatojn, kiuj neniam ŝanĝis sian ĉefan ŝlosilon.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 eliris el la ĉambro.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Ĉi tiu ĉambro enhavas nekontrolitajn aparatojn!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Kialo: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Montri aŭ kaŝi fiksitajn mesaĝojn</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 forigis sian frapon.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Serĉi en la ĉambro</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Vi aliĝis ĉi tiun ĉambron.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Elektebloj de ĉambro</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 necesigis inviton por aliĝo al ĉi tiu ĉambro.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Inviti uzantojn</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 invitis uzanton %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Anoj</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 ŝanĝis sian profilbildon kaj sian prezentan nomon al %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Eliri el ĉambro</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 ŝanĝis sian prezentan nomon al %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Agordoj</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 eliris jam elirinte!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Malfiksi</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 forbaris uzanton %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Enigu serĉaton</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 frapis.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Montri</translation>
     </message>
@@ -4018,13 +1718,13 @@ Kialo: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Neniuj disponeblaj manieroj de registriĝo!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Registriĝo nuliĝis</translation>
@@ -4040,112 +1740,10 @@ Kialo: %4</translation>
         <translation>Nevalida peco</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Alŝuti dosieron</numerusform>
-            <numerusform>Alŝuti %n dosierojn</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Ĉiea profilo de uzanto</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Ĉambra profilo de uzanto</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Ŝanĝi bildon ĉie.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Ŝanĝi bildon. Efektiviĝos nur en ĉi tiu ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Ŝanĝi prezentan nomon ĉie.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Ŝanĝi prezentan nomon. Efektiviĝos nur en ĉi tiu ĉambro.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Ĉambro: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Ĉi tio estas profilo speciala por ĉambro. La nomo kaj profilbildo de la uzanto povas esti malsamaj de siaj ĉieaj versioj.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Malfermi la ĉiean profilon de ĉi tiu uzanto.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Kontroli</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Komenci privatan babilon.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Forpeli la uzanton.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Forbari la uzanton.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Aktualigi liston de aparatoj.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Adiaŭigi ĉi tiun aparaton.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Ŝanĝi nomon de aparato.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Lastafoje vidis uzanton %1 je %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Malkontroli</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>AdiaÅ­igi aparaton %1</translation>
     </message>
@@ -4178,8 +1776,8 @@ Kialo: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Implicita</translation>
     </message>
@@ -4187,7 +1785,7 @@ Kialo: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>HaÅ­to</translation>
     </message>
@@ -4256,6 +1854,11 @@ Kialo: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Ordigi ĉambrojn laŭ nelegiteco</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4517,12 +2120,22 @@ Kialo: %4</translation>
         <translation>Malkaŝi informojn pri ĉambro per D-Bus</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Implicita</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Agordi sciigan sonon, kiu aŭdiĝos je invito al voko</translation>
     </message>
@@ -4596,7 +2209,21 @@ This will also enable or disable sending typing notifications to others.</source
 Ĉi tio ankaŭ ŝaltos sciigadon pri via tajpado al aliaj.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Montras butonojn apud ĉiu mesaĝo, por rapide respondi, reagi,
 aÅ­ meti aliajn elekteblojn.</translation>
@@ -4651,17 +2278,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Ĉi tio kutime movbildigas la simbolbildon sur la pleto iumaniere.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Komunuma breto</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Montri nombron de mesaĝoj por komunumoj kaj etikedoj</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Agordi la maksimuman larĝecon de mesaĝoj en la historio (en bilderoj). Tio povas plibonigi legeblecon sur larĝa ekrano, kiam la fenestro de Nheko grandas.</translation>
     </message>
@@ -4671,16 +2298,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation>Montri kolonon kun komunumoj kaj etikedoj, flanke de la listo de ĉambroj.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Montri ĉambrojn kun novaj mesaĝoj unue.
-Se ĉi tio estas malŝaltita, la listo de ĉambroj nur ordiĝos laŭ tempo de la lasta mesaĝo en la ĉambro.
-Se ĉi tio estas ŝaltita, ĉambroj kun aktivaj sciigoj (la eta cirklo kun nombro en si) aperos komence en la listo. Ĉambroj, kiujn vi silentigis, plu ordiĝos laŭ tempo, ĉar vi verŝajne ne opinias ilin same gravaj kiel la aliaj ĉambroj.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4771,7 +2389,17 @@ This setting will take effect upon restart.</source>
 Ĉi tiu agordo efektiviĝos post restarto.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Elektu dosieron</translation>
     </message>
@@ -4781,7 +2409,7 @@ This setting will take effect upon restart.</source>
         <translation>Ĉiuj dosieroj (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Malfermi dosieron kun salutaĵoj</translation>
     </message>
@@ -4823,118 +2451,18 @@ This setting will take effect upon restart.</source>
         <translation>Dosiero, kien konserviĝos la elportitaj ŝloslioj de salutaĵo</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>PETI</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>ELÅœUTI</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>KAÅœMEMORITA</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NE KAÅœMEMORITA</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Reen</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>ENPORTI</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>ELPORTI</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Neniu ĉifrita privata babilo kun ĉi tiu uzanto troviĝis. Kreu ĉifritan privatan babilon kun ĉi tiu uzanto kaj reprovu.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Atendante la aliulon…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Atendante, ĝis la aliulo akceptos la kontrolpeton.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Atendante, ĝis la aliulo finos la kontrolon.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Atendante, ĝis la aliulo finos la kontrolon.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Nuligi</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translatorcomment>Should &quot;Matrico&quot; be &quot;Matrica&quot;? (I don&apos;t think so)</translatorcomment>
-        <translation>Bonvenu al Nheko! La labortabla kliento por la protokolo Matrikso.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Ĝuu vian ĉeeston!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTRIÄœI</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>SALUTI</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Malpliigi movbildojn</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko uzas movbildojn kelkloke por plibeligi sin. Per ĉi tio vi povas ilin malŝalti, se ili malplaĉas al vi.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>HieraÅ­</translation>
     </message>
@@ -4942,7 +2470,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Iri al foliumilo por la alternativa metodo</translation>
     </message>
@@ -4963,32 +2491,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Malfermi disrobotilon reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Homoj</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Nuligi</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Naturo</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Konfirmi</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Manĝaĵo</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Solvu la kontrolon de homeco de «reCAPTCHA» kaj premu la konfirman butonon</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktiveco</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Vojaĝoj</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objektoj</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Simboloj</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Flagoj</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Vi sendis sonmesaĝon</translation>
     </message>
@@ -5049,25 +2597,25 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Vi: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>Vi sendis konfetojn</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 sendis konfetojn</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_es.ts b/resources/langs/nheko_es.ts
index d5585db75ce03108e14d0f64ef0d77cbdb1a8bcd..f03a525bf02d94ed84541fbc1f2a65dbafc451d1 100644
--- a/resources/langs/nheko_es.ts
+++ b/resources/langs/nheko_es.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="es">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Llamando...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Conectando...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Estás compartiendo tu pantalla</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Ocultar/Mostrar Picture-in-Picture</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Desilenciar micrófono</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Silenciar micrófono</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished">Añadir</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 y %n otro</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Sala vacía</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videollamada</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Llamada de voz</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>No se encontró micrófono.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videollamada</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Llamada de voz</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Dispositivos</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Aceptar</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Micrófono desconocido: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Cámara desconocida: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Rechazar</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>No se encontró micrófono.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Pantalla completa</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>No se pudo invitar al usuario: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Se invitó al usuario: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>La cache en su disco es más reciente de lo que esta versión de Nheko soporta. Por favor actualiza Nheko o limpia la cache.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Error al abrir la base de datos, cerrando sesión!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Confirmar invitación</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>¿Seguro que quieres invitar a %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Usuario desbaneado: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>¿Seguro que quieres comenzar un chat privado con %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Migración de cache fallida!</translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Versión de cache incompatible</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>No se ha podido restaurar la cuenta OLM. Por favor inicia sesión de nuevo.</translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
     <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Expandir</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Colapsar</translation>
-    </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Todas las salas</translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Mensajes de tu servidor o administrador.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2440 +630,600 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Desencriptar secretos</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Utiliza tu clave de recuperación o contraseña para desencriptar tus secretos:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform>%n miembro</numerusform>
-            <numerusform>%n miembros</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Utiliza tu clave de recuperación o contraseña llamada %1 para desencriptar tus secretos:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Desencriptación fallida</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Error al desencriptar los secretos con la clave de recuperación o contraseña utilizadas</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Todos los archivos (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Encriptación</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Has insertado un ID de Matrix invalido  ej @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Nombre</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>El autodescubrimiento falló. Se ha recibido una respuesta malformada.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>El autodescubrimiento falló. Error desconocido al solicitar .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>No se han encontrado los puntos finales requeridos. Es posible que no sea un servidor de Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Se recibió una respuesta malformada. Asegurate de que el dominio del servidor base es valido.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Tema</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Un error desconocido ocurrió. Asegurate de que el dominio del servidor es válido.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation type="unfinished">Público</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Encriptación</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>INICIO DE SESION SSO</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Contraseña vacia</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Desencriptar secretos</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>El inicio de sesión SSO falló</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Utiliza tu clave de recuperación o contraseña para desencriptar tus secretos:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished">No se ha podido subir el archivo. Por favor, intenta de nuevo.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Utiliza tu clave de recuperación o contraseña llamada %1 para desencriptar tus secretos:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 envió un mensaje encriptado</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Desencriptación fallida</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 respondió %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Error al desencriptar los secretos con la clave de recuperación o contraseña utilizadas</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 respondió con un mensaje encriptado</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Código de verificación</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 respondió a un mensaje</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Por favor verifica los siguientes digitos. Deberías ver los mismos números en ambos lados. Si son diferentes,por favor presiona &apos;No son iguales!&apos; para abortar la verificación!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 envió un mensaje</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>No son iguales!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Son iguales!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Buscar</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Personas</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Naturaleza</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Comida</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Actividades</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Viajes</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objetos</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Símbolos</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Banderas</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Código de verificación</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Por favor verifica el siguiente emoji. Deberías ver el mismo emoji en ambos lados. Si son diferentes, por favor presiona &apos;No son iguales!&apos; para abortar la verificación!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>No son iguales!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Son iguales!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>No hay clave para desbloquear este mensaje. Solicitamos la clave automáticamente, pero puedes intentar solicitandola de nuevo si eres impaciente.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Este mensaje no pudo ser desencriptado, porque sólo tenemos la clave para los mensajes más recientes. Puedes intentar solicitando acceso a este mensaje.</translation>
+        <source>Send messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Hubo un error interno leyendo la clave de desencriptación de la base de datos.</translation>
+        <source>Change the room name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Hubo un error desencriptando este mensaje.</translation>
+        <source>Change the room permissions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Este mensaje no pudo ser procesado.</translation>
+        <source>Change the rooms topic</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>La clave de encriptación fue reusada! Es posible que alguien este intentando insertar mensajes falsos en enste chat!</translation>
+        <source>Change the widgets</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Error de desencriptación desconocido</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Solicitar clave</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Este mensaje no está encriptado!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Encriptado por un dispositivo verificado</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Encriptado por un dispositivo sin verificar, pero hasta ahora has confiado en este usuario.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Encriptado por un dispositivo sin verificar o la clave proviene de una fuente no confiable como la copia de seguridad.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verificación fallida</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>El otro cliente no soporta nuestro protocolo de verificación.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Las claves no son iguales!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Se agotó el tiempo para verificar el dispositivo.</translation>
+        <source>Negotiate a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>El otro grupo canceló la verificación.</translation>
+        <source>Answer a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Los mensajes de verificación fueron recibidos en desorden!</translation>
+        <source>Hang up a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Error de verificación desconocido.</translation>
+        <source>Reject a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Cerrar</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Reenviar Mensaje</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>perfil</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>nombre del perfil</translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
+        <source>Send</source>
+        <translation type="unfinished">Enviar</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation type="unfinished">Stickers</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">Escribe un mensaje...</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translatorcomment>Just in case, I&apos;ll be leaving pack as pack instead of using paquete (which is the valid translation) but since a lot of spanish speaking people just say pack, I think it&apos;s fine</translatorcomment>
-        <translation>Editando pack de imágenes</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Ayer, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Añadir imágenes</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>El autodescubrimiento falló. Se ha recibido una respuesta malformada.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Imágenes (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>El autodescubrimiento falló. Error desconocido al solicitar .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Seleccionar imágenes para el pack</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>No se han encontrado los puntos finales requeridos. Es posible que no sea un servidor de Matrix.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Añadir al pack</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Recibió respuesta malformada. Asegurate de que el dominio del servidor base es valido.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Cambiar la imagen previa para este pack</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Un error desconocido ocurrió. Asegurate de que el dominio del servidor es válido.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Imagen previa (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Seleccionar imagen previa para el pack</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translatorcomment>There isn&apos;t a reasonable translation for this and it will sound ridiculous if I translate it, so I&apos;ll just leave it as is</translatorcomment>
-        <translation>State key</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Nombre del pack</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Atribución</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Usar como Emoji</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Usar como Sticker</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Alias</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Cuerpo</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Eliminar del pack</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Eliminar</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Ajustes del pack de imágenes</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Crear pack global</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Nuevo pack para la sala</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Pack privado</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Pack de esta sala</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Pack habilitado globalmente</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Habilitar pack globalmente</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Permite que este pack sea usado en todas las salas</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Editar</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Cerrar</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Todos los archivos (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Invitar usuarios a %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Invitar</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Unirse a la sala</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>ID de la sala o alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Salir de la sala</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>¿Seguro que deseas salir?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>ID de Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>ej @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Contraseña</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Tu contraseña.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nombre de dispositivo</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Dirección del servidor base</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>mi.servidor:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>INICIAR SESION</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Has insertado un ID de Matrix invalido  ej @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>El autodescubrimiento falló. Se ha recibido una respuesta malformada.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>El autodescubrimiento falló. Error desconocido al solicitar .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>No se han encontrado los puntos finales requeridos. Es posible que no sea un servidor de Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Se recibió una respuesta malformada. Asegurate de que el dominio del servidor base es valido.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Un error desconocido ocurrió. Asegurate de que el dominio del servidor es válido.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>INICIO DE SESION SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Contraseña vacia</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>El inicio de sesión SSO falló</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Cerrar sesión</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Una llamada está en progreso . Cerrar sesión?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>¿Seguro que deseas cerrar sesión?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished">No se ha podido subir el archivo. Por favor, intenta de nuevo.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 cambió el avatar de la sala</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 cambió los mensajes fijados.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 cambió las direcciones para esta sala.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 creó y configuró la sala: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 hizo una llamada de voz.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 hizo una videollamada.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 hizo una llamada.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Permitir que entren</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 atendió la llamada.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 terminó la llamada.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Colgar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Llamar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Enviar archivo</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Escribe un mensaje...</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Stickers</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Enviar</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>No tienes permisos para enviar mensajes en esta sala</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Editar</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reaccionar</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Responder</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Opciones</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copiar</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Copiar dirección de &amp;enlace</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;accionar</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Respo&amp;nder</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Editar</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Des&amp;fijar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Fijar</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Reenviar</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Marcar como leido</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Ver código fuente</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Ver código fuente sin encriptar</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Elimin&amp;ar mensaje</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Guardar como</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Abrir en programa externo</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Copiar enlace a even&amp;to</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Ir a mensaje citado</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Enviar solicitud de verificación</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Solicitud de verificación recibida</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Para asegurarse de que ningún usuario malicioso pueda espiar tus comunicaciones encriptadas puedes verificar con el otro grupo.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 ha solicitado verificar su dispositivo %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 utilizando el dispositivo %2 ha solicitado ser verificado.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Tu dispositivo (%1) ha solicitado ser verificado.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Rechazar</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Comenzar verificación</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Aceptar</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Estás a punto de notificar a toda la sala</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 envió un mensaje encriptado</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 respondió %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 respondió con un mensaje encriptado</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 respondió a un mensaje</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 envió un mensaje</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Hacer una llamada a %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>No se encontró micrófono.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Voz</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Pantalla</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>evento-sin-implementar: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished">Añadir</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>perfil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>nombre del perfil</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Enviar</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Escribe un mensaje...</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Vistos</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Ayer, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nombre de usuario</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>El nombre de usuario no debe estar vacio, y sólo debe contener los carácteres a-z, 0-9, ., _, =, -, y /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Contraseña</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Por favor escoge una contraseña segura. Los requerimientos exactos para la seguridad de la contraseña pueden depender de tu servidor.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Confirmar contraseña</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Servidor base</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Un servidor que permite registrarse. Debido a que matrix es descentralizado primero debes encontrar un servidor en el que puedas registrarte o mantener el tuyo propio.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Nombre de dispositivo</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTRARSE</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>El autodescubrimiento falló. Se ha recibido una respuesta malformada.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>El autodescubrimiento falló. Error desconocido al solicitar .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>No se han encontrado los puntos finales requeridos. Es posible que no sea un servidor de Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Recibió respuesta malformada. Asegurate de que el dominio del servidor base es valido.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Un error desconocido ocurrió. Asegurate de que el dominio del servidor es válido.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Cerrar</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Explorar salas públicas</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Buscar salas públicas</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Seleccionar servidor base personalizado</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>ninguna version guardada</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Nueva etiqueta</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Inserta la etiqueta que deseas usar:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Salir de la sala</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Etiquetar sala como:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favorito</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Baja prioridad</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Aviso del servidor</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Crear nueva etiqueta...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Estado</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Inserta tu estado:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Ajustes de perfil</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Establecer estado</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Cerrar sesión</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>La encriptación no está configurada</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Inicio de sesión sin verificar</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Por favor verifica el resto de tus dispositivos</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Cerrar</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Comenzar un nuevo chat</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Unirse a una sala</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Crear nueva sala</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Listado de salas</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Ajustes de usuario</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Miembros de: %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n persona en %1</numerusform>
-            <numerusform>%n personas en %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Invitar más personas</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Moderator: %1</source>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>User: %1</source>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Esta sala no está encriptada!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Este usuario está verificado.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Este usuario no está verificado, pero está usando la misma clave maestra desde la primera vez que se conocieron.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Este usuario tiene dispositivos sin verificar!</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>ninguna version guardada</translation>
     </message>
 </context>
 <context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Ajustes de la sala</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translatorcomment>&quot;miembro&quot; is for a single person, miembros is for many</translatorcomment>
-        <translation>
-            <numerusform>%n miembro</numerusform>
-            <numerusform>%n miembros</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>AJUSTES</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Notificationes</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Silenciado</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Sólo menciones</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Todos los mensajes</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Encriptación</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Encriptado de extremo a extremo</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Ajustes de Stickers &amp; Emotes</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Cambiar</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFORMACION</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>ID Interno</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Versión de la sala</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
         <source>Failed to enable encryption: %1</source>
         <translation>Error al activar la encriptación: %1</translation>
     </message>
     <message>
-        <location line="+344"/>
+        <location line="+404"/>
         <source>Select an avatar</source>
         <translation>Seleccionar un avatar</translation>
     </message>
     <message>
         <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Todos los archivos (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>El archivo seleccionado no es una imagen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Error al leer el archivo: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Hubo un problema al subir la imagen: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Invitación pendiente.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Vista previa de esta sala</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Vista previa no disponible</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Por favor inserta tu contraseña para iniciar sesión:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Por favor inserta un correo electrónico válido para continuar:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Por favor inserta un número de teléfono válido para continuar:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Espera a que el enlace de confirmación llegue para continuar.</translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>¿Compartir pantalla con %1?</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Ventana:</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Tasa de fotogramas:</translation>
+        <source>All Files (*)</source>
+        <translation>Todos los archivos (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Incluir tu cámara picture-in-picture</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>El archivo seleccionado no es una imagen</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Solicitar cámara remota</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Error al leer el archivo: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Ver la cámara de la persona que estás llamando como si fuera una videollamada normal</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Hubo un problema al subir la imagen: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Esconder el cursor del mouse</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Invitación pendiente.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Compartir</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Vista previa de esta sala</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Vista previa</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Vista previa no disponible</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Hubo en error al conectarse al almacenamiento secreto</translation>
     </message>
@@ -3233,62 +1233,10 @@ Example: https://server.my:8787</source>
         <translation>Nheko no pudo conectarse al almacenamiento secreto para guardar los secretos encriptados. Esto puede tener múltiples razones. Verifica si D-Bus está funcionando y has configurado un servicio como KWallet, Gnome-Keyring, KeepassXC o el equivalente para tu plataforma. Si estás teniendo problemas, puedes abrir un problema aquí: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Esta es tu clave de seguridad. La necesitaras para restaurar acceso a tus mensajes encriptados y claves de verificación. Mantenla segura. No la compartas con nadie y no la pierdas! No la dejes ir! No aceptes $200 por ella!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Encriptación configurada de forma exitosa</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>No se pudo configurar la encriptación: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Configurar encriptación</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Hola y bienvenido a Matrix!
-Parece que eres nuevo. Antes de que puedas encriptar tus mensajes de forma segura, debemos configurar unas cuantas cosas. Puedes presionar aceptar de inmediato o ajustar unas cuantas opciones básicas. También intentamos explicar algunas de las bases. Puedes omitir esas partes, pero podrían ser útiles!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Activar encriptación</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Parece que ya tienes la encriptación configurada en esta cuenta. Para poder acceder a tus mensajes encriptados y hacer que este dispositivo aparezca como confiable puedes verificar con un dispositivo ya existente o (si tienes una) utilizar tu clave de recuperación. Por favor selecciona una de las opciones abajo.
-Si escoges verificar, necesitas tener otro dispositivo disponible. Si escoges &quot;insertar contraseña&quot;, necesitaras tu clave de recuperación o contraseña. Si haces click en cancelar, puedes verificar tu dispositivo en otro momento.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>verificar</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>insertar contraseña</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Falló en la creación de claves para firma cruzada!</translation>
     </message>
@@ -3321,19 +1269,19 @@ Si escoges verificar, necesitas tener otro dispositivo disponible. Si escoges &q
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Falló en la actualización del pack de imágenes: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Falló al eliminar el antiguo pack de imágenes %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Falló al abrir la imagen: %1</translation>
     </message>
@@ -3344,97 +1292,10 @@ Si escoges verificar, necesitas tener otro dispositivo disponible. Si escoges &q
         <translation>Falló al subir la imagen: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Falló</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Enviado</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Recibido</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Visto</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Buscar</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Verificación Exitosa</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verificación exitosa! Ambos lados verificaron sus dispositivos!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Cerrar</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Falló en la eliminación del mensaje: %1</translation>
@@ -3466,7 +1327,7 @@ Si escoges verificar, necesitas tener otro dispositivo disponible. Si escoges &q
         <translation>Guardar archivo</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3750,253 +1611,96 @@ Razón: %4</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-38"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 cambió su avatar y su nombre a %2.</translation>
-    </message>
-    <message>
-        <location line="-666"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+670"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 cambió su nombre a %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 cambió su avatar.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 cambió información en su perfil.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 se unió.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 se unió a través de la autorización del servidor de %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 rechazó la invitación.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 abandonó la sala.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Razón: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 canceló después de tocar la puerta.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Te has unido a esta sala.</translation>
-    </message>
-    <message>
-        <location line="+1632"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 se fue después de ya haberse ido!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 tocó a la puerta.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Editado</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Ninguna sala abierta</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Vista previa no disponible</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Ajustes</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform>%n miembro</numerusform>
-            <numerusform>%n miembros</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>unirse a la conversación</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>aceptar invitación</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>rechazar invitación</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>De vuelta a la lista de salas</translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Volver a la lista de salas</translation>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Ninguna sala seleccionada</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
+        <location line="-38"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 cambió su avatar y su nombre a %2.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
+        <location line="-666"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Esta sala sólo contiene dispositivos verificados.</translation>
+        <location line="+670"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 cambió su nombre a %2.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Esta sala contiene dispositivos verificados y dispositivos que nunca han cambiado su clave maestra.</translation>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 cambió su avatar.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Esta sala contiene dispositivos sin verificar!</translation>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 cambió información en su perfil.</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Mostrar u ocultar mensajes fijados</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 se unió.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 se unió a través de la autorización del servidor de %2.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Ajustes de la sala</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 rechazó la invitación.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Invitar usuarios</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 abandonó la sala.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Miembros</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Razón: %1</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Salir de la sala</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 canceló después de tocar la puerta.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Ajustes</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Te has unido a esta sala.</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Desfijar</translation>
+        <location line="+1704"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 se fue después de ya haberse ido!</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 tocó a la puerta.</translation>
+    </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Mostrar</translation>
     </message>
@@ -4009,13 +1713,13 @@ Razón: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>No hay flujos de registro disponibles!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Registro abortado</translation>
@@ -4031,112 +1735,10 @@ Razón: %4</translation>
         <translation>Token inválido</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Perfil de Usuario Global</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Perfil de Usuario en esta Sala</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Cambiar el avatar globalmente.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Cambiar el avatar. Sólo aplicara a esta sala.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Cambiar el nombre de usuario globalmente.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Cambiar el nombre de usuario. Sólo aplicara a esta sala.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Sala: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Este es un perfil específico para esta sala. El nombre de usuario y avatar pueden ser diferentes de sus versiones globales.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Abrir el perfil global para este usuario.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Verificar</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Empezar un chat privado.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Expulsar al usuario.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Banear al usuario.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Refrescar lista de dispositivos.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Cerrar sesión en este dispositivo.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Cambiar el nombre del dispositivo.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Última vez visto %1 a las %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Sin verificar</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Cerrar sesión en el dispositivo %1</translation>
     </message>
@@ -4169,8 +1771,8 @@ Razón: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Por defecto</translation>
     </message>
@@ -4178,7 +1780,7 @@ Razón: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Tema</translation>
     </message>
@@ -4247,6 +1849,11 @@ Razón: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Organizar salas por mensajes no leidos</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4508,12 +2115,22 @@ Razón: %4</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished">Por defecto</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished">Escoge el sonido de notificación para las invitaciones de llamadas</translation>
     </message>
@@ -4586,7 +2203,21 @@ This will also enable or disable sending typing notifications to others.</source
 Esto también activa o desactiva enviar notificaciones cuando estes escribiendo.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished">Mostrar botones para responder rápidamente, reaccionar o acceder opciones adicionales junto a cada mensaje.</translation>
     </message>
@@ -4639,17 +2270,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Esto usualmente causa que el icono de la aplicación en la barra de tareas sea animado de alguna forma.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4659,14 +2290,7 @@ Esto usualmente causa que el icono de la aplicación en la barra de tareas sea a
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4750,7 +2374,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">Seleccionar un archivo</translation>
     </message>
@@ -4760,7 +2394,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Todos los archivos (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Abrir el archivo de sesiones</translation>
     </message>
@@ -4802,117 +2436,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Archivo para guardar las claves de sesión exportadas</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>SOLICITAR</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>DESCARGAR</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>EN CACHE</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NO ESTA EN LA CACHE</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTAR</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTAR</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>No se han encontrado chats privados encriptados con este usuario. Crea un chat privado encriptado con este usuario e intenta de nuevo.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Esperando por el otro grupo...</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Esperando a que el otro lado acepte la solicitud de verificación.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Esperando por el otro lado para continuar el proceso de verificación.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Esperando por el otro lado para completar el proceso de verificación.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Bienvenido a nheko! El cliente de sobremesa para el protocolo Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Disfruta tu estadía!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTRARSE</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>INICIAR SESION</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Ayer</translation>
     </message>
@@ -4920,7 +2455,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Abrir respaldo en el navegador</translation>
     </message>
@@ -4941,32 +2476,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Abrir reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Personas</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Naturaleza</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Confirmar</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Comida</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Resuelve el reCAPTCHA y presiona el botón de confirmar</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Actividades</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Viajes</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objetos</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Símbolos</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Banderas</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Enviaste un clip de audio</translation>
     </message>
@@ -5027,24 +2582,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Tú: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_et.ts b/resources/langs/nheko_et.ts
index 380c3161c52dfef62c4056c08622a19ae61beb53..119535c648d93a86310159e449be2cf41e8bfcaa 100644
--- a/resources/langs/nheko_et.ts
+++ b/resources/langs/nheko_et.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="et">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Helistan…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Ühendan…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Sa jagad ekraani.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Peida/näita pilt-pildis vaade</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Lülita mikrofon sisse</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Lülita mikrofon välja</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Aliase uuendamine ei õnenstunud: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>%1 aliased</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Selle jututoa aliaste loend. Tavaliselt võid sa neid hallata vaid oma serveris. Seadistada võid ühe kanoonilise aliase ja palju alternatiivseid aliasi.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Põhiline alias</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Muuda põhiliseks aliaseks</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Levita selle jututoa aliasena</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Avalda jututubade loendis</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Kustuta see alias</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#uus-alias:server.tippdomeen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Lisa</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Lubatud jututubade seadistused</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Jututubade loend, mis tagav ligipääsu ka siia jututuppa. Kõik nende jututubade liikmed võivad liituda ka selle jututoaga.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Ãœlemkogukond</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Teine jututuba</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Lisa täiendavaid jututube, mis pole veel loendis...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 ja veel %n teine kasutaja</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Tühi jututuba</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videokõne</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Häälkõne</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Ei suuda tuvastada mikrofoni.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videokõne</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Häälkõne</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Seadmed</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Võta vastu</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Tundmatu mikrofon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Tundmatu kaamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Keeldu</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Ei suuda tuvastada mikrofoni.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Terve ekraan</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Kutse saatmine kasutajale ei õnnestunud: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Kutsutud kasutaja: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Kinnita väljalogimine</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>Sinu andmekandjale salvestatud puhvri versioon on uuem, kui käesolev Nheko versioon kasutada oskab. Palun tee Nheko uuendus või kustuta puhverdatud andmed.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Andmebaasi avamine ei õnnestunud. Login välja!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Kinnita kutse</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Kas sa tõesti soovid saata kutset kasutajale %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Suhtluskeeld eemaldatud: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Kas sa kindlasti soovid alustada otsevestlust kasutajaga %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Puhvri versiooniuuendus ebaõnnestus!</translation>
     </message>
@@ -347,7 +195,7 @@ Kui sa arvad, et tegemist on veaga, siis võid selle asemel Nheko sulgeda ja võ
         <translation>Mitteühilduv puhvri versioon</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>OLM konto taastamine ei õnnestunud. Palun logi uuesti sisse.</translation>
     </message>
@@ -421,16 +269,11 @@ Kui soovid, siis võid lisada ka selgituse, miks peaks sinu koputusele reageerim
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Sisesta %1 (%2) suhtluskeelu põhjus või kui sa põhjust lisada ei taha, siis vajuta Enter-klahvi:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Võrguühendus puudub</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;sõnum&gt;</translation>
     </message>
@@ -541,6 +384,16 @@ Kui soovid, siis võid lisada ka selgituse, miks peaks sinu koputusele reageerim
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;sõnumi viide&gt;</translation>
     </message>
@@ -680,6 +533,16 @@ Kui soovid, siis võid lisada ka selgituse, miks peaks sinu koputusele reageerim
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Saada vikerkaarevärvides sõnum serpentiinidega.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -696,33 +559,10 @@ Kui soovid, siis võid lisada ka selgituse, miks peaks sinu koputusele reageerim
         <translation>Muuda see otsevestlus jututoaks.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Ära näita teavituste loendit selle kogukonna või sildi kohta.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Vaikimisi peaida selle sildiga või sellest kogukonnast pärit jututoad.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Laienda</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Ahenda</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Kõik jututoad</translation>
     </message>
@@ -772,7 +612,7 @@ Kui soovid, siis võid lisada ka selgituse, miks peaks sinu koputusele reageerim
         <translation>Sõnumid sinu serverilt või selle haldajalt.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Kogukonna uuendamine ei õnnestunud: %1</translation>
     </message>
@@ -793,2447 +633,600 @@ Kui soovid, siis võid lisada ka selgituse, miks peaks sinu koputusele reageerim
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Kinnita liitumine kogukonnaga</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Dekrüpti andmed</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Kinnita liitumine jututoaga</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Andmete dekrüptimiseks sisesta oma taastevõti või salafraas:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n liige</numerusform>
-            <numerusform>%n liiget</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Andmete dekrüptimiseks sisesta oma taastevõti või salafraas nimega %1:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Kas sa soovid liituda selle jututoaga? Kui soovid, siis võid siia lisada ka selgituse:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Dekrüptimine ei õnnestunud</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Selle jututoaga ei saa otse liituda. Küll aga saad sa jututoa uksele koputada ning liikmed saavad sinu liitumise lubada või sellest keelduda. Kui soovid, siis lisa alljärgnevas ka liitumise selgitus:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Sisestatud taastevõme või salafraasi abil ei õnnestunud andmeid dekrüptida</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Koputa</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Peidetud sündmuste loomine ei õnnestunud: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Liitu</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Alusta otsevestlust</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Peidetud sündmuste loomine ei õnnestunud: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Kutsutav kasutaja</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Kõik failid (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@kasutaja:koduserver.tippdomeen</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>„%1“ üleslaadimine ei õnnestunud</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Krüptimine</translation>
+        <location line="-901"/>
+        <source>Select file(s)</source>
+        <translation>Vali fail(id)</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Loo jututuba</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Sisestatud Matrix&apos;i kasutajatunnus on vigane - peaks olema @kasutaja:server.tld</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Nimi</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: päringuvastus oli vigane.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Uus kogukond</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: tundmatu viga .well-known päringu tegemisel.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Uus jututuba</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Protokolli järgi nõutavaid lõpppunkte ei leidunud. Ilmselt pole tegemist Matrix&apos;i serveriga.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Nimi puudub</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Päringule sain tagasi vigase vastuse. Palun kontrolli, et koduserveri domeen oleks õige.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Teema</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Tekkis teadmata viga. Palun kontrolli, et koduserveri domeen on õige.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Teema puudub</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>Valitud server ei mõista Matrixi protokolli versioone, mida see klient oskab (versioonid 1.1 kuni 1.5). Sisselogimine pole võimalik.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Logi sisse Apple&apos;i kontoga</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Avalik jututuba</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Logi sisse Facebook&apos;i kontoga</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Avalike jututubadega saavad liituda kõik huvilised ja privaatsed jututoad vajavad kutset.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Logi sisse Google&apos;i kontoga</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Usaldusväärne</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Logi sisse Twitter&apos;i kontoga</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Kõik kutsutavad saavad jututoa loojaga samad õigused</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Sisselogimine kasutades teenust: %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Krüptimine</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>ÃœHEKORDNE SISSELOGIMINE</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Hoiatus: krüptimist ei saa hiljem välja lülitada</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Tühi salasõna</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Dekrüpti andmed</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Ühekordne sisselogimine ei õnnestunud</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Andmete dekrüptimiseks sisesta oma taastevõti või salafraas:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+747"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Meediafailide üleslaadimine ei õnnestunud. Palun proovi uuesti.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Andmete dekrüptimiseks sisesta oma taastevõti või salafraas nimega %1:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 saatis krüptitud sõnumi</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Dekrüptimine ei õnnestunud</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 vastas: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Sisestatud taastevõme või salafraasi abil ei õnnestunud andmeid dekrüptida</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 vastas krüptitud sõnumiga</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verifitseerimise kood</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 vastas sõnumile</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Palun võrdle järgmiseid numbreid. Sa peaks nägema samu numbreid mõlema osapoole seadmes. Kui nad omavahel ei klapi, siis palun vajuta verifitseerimise katkestamiseks „Nad ei klapi“ nuppu!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 saatis sõnumi</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Nad ei klapi!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Õiguste muutmine ei õnnestunud: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Mõlemad on samad!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Õiguste muutmine ei õnnestunud: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Otsi</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Muud sündmused</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Inimesed</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Muud olekusündmused</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Loodus</translation>
+        <source>Remove other users</source>
+        <translation>Muude kasutajate eemaldamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Toit</translation>
+        <source>Ban other users</source>
+        <translation>Teistele kasutajatele suhtluskeelu seadmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Tegevused</translation>
+        <source>Invite other users</source>
+        <translation>Kasutajatele kutse saatmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Reisimine</translation>
+        <source>Redact events sent by others</source>
+        <translation>Teiste loodud sündmuste muutmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Esemed</translation>
+        <source>Reactions</source>
+        <translation>Reageerimised</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Sümbolid</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Vana standardi järgsed tegevused aliastega</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Lipud</translation>
+        <source>Change the room avatar</source>
+        <translation>Jututoa tunnuspildi muutmine</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verifitseerimise kood</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Jututoa aadresside muutmine</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Palun võrdle järgmiseid emojisid. Sa peaks nägema samu emojisid mõlema osapoole seadmes. Kui nad on erinevad, siis palun vajuta verifitseerimise katkestamiseks „Nad ei klapi“ nuppu!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Krüptitud sõnumite saatmine</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Kuvatav emoji võib erinevate fondifailide tõttu eri klientides olla natuke erinev. Samuti võib nimi olla eri keeltes erinev. Sellele vaatamata kujutavad nad ühte 64&apos;st loomast või esemest. Näiteks lõvi või kass on ilmselgelt erinevad, kuid kass on siiski kass vaatamata sellele, et ühes fondis võib olla kuvatud vaid kassi nägu ja teises kogu kassi keha.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Krüptimise kasutusele võtmine</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Nad ei klapi!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Külaliste ligipääsuõiguste muutmine</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Mõlemal pool on ühesugused emojid!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Ajaloo nähtavuse muutmine</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Selle sõnumi dekrüptimiseks pole veel vajalikke võtmeid. Me oleme neid serverist automaatselt laadimas, kuid kui sul on väga kiire, siis võid seda uuesti teha.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Liitumisreeglite muutmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Meil on krüptovõtmed vaid uuemate sõnumite jaoks ja seda sõnumit ei saa dekrüptida. Sa võid proovida vajalikke võtmeid eraldi laadida.</translation>
+        <source>Send messages</source>
+        <translation>Sõnumite saatmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Krüptovõtmete andmekogust lugemisel tekkis rakenduses viga.</translation>
+        <source>Change the room name</source>
+        <translation>Jututoa nime nuutmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Sõnumi dekrüptimisel tekkis viga.</translation>
+        <source>Change the room permissions</source>
+        <translation>Jututoa õiguste muutmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Sõnumi töötlemisel tekkis viga.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Jututoa teema muutmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Krüptovõtit on kasutatud korduvalt! Keegi võib proovida siia vestlusesse valesõnumite lisamist!</translation>
+        <source>Change the widgets</source>
+        <translation>Vidinate muutmine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Teadmata viga dekrüptimisel</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Vidinate muutmine (katseline)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Laadi krüptovõti</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Oma loodud sündmuste muutmine</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 võttis kasutusele läbiva krüptimise</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Kinnitatud teadete muutmine</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Krüptimine tagab, et sõnumeid saavad lugevad vaid need kasutajad, kellele sa sõnumeid saadad. Kui tahad kindel olla, et teised kasutajad on päriselt ka need, kellena nad end esitlevad, siis pead nad ka verifitseerima.</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Jutuoa versiooni uuendus</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>See sõnum on krüptimata!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Kleepsude saatmine</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Krüptitud verifitseeritud seadmes</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Reeglite alusel kasutajatele ligipääsu keelamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Krüptitud verifitseerimata seadmes, aga sa oled selle kasutajat seni usaldanud.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Reeglite alusel jututubade keelamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Krüptitud verifitseerimata seadme poolt või krüptovõtmed on pärit allikast, mida sa pole üheselt usaldanud (näiteks varundatud võtmed).</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Reeglite alusel serverite keelamine</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verifitseerimine ei õnnestunud</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Muuda alakogukondi või jututube</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Teise osapoole rakendus ei toeta siinkasutatavat verifitseerimisprotokolli.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Muuda ülemkogukondi</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Tuvastasin, et krüptovõtmed ei klapi omavahel!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Kõne alustamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Seadme verifitseerimine aegus.</translation>
+        <source>Negotiate a call</source>
+        <translation>Kõne ühendamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Teine osapool katkestas verifitseerimise.</translation>
+        <source>Answer a call</source>
+        <translation>Kõnele vastamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Saabunud verifitseerimissõnumid on vales järjekorras!</translation>
+        <source>Hang up a call</source>
+        <translation>Kõne lõpetamine</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Teadmata viga verifitseerimisel.</translation>
+        <source>Reject a call</source>
+        <translation>Ära võta kõnet vastu</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Sulge</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Jutuoa emotikonide muutmine</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Suuna sõnum edasi</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Muud kasutajad</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Peidetud sündmuste loomine ei õnnestunud: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Loo unikaalne kasutajaprofiil, mis võimaldab samaaegselt sisse logide mitmele Matrixi kontole ja avada vastavalt mitu nheko rakenduse akent.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>%1 peidetud sündmused</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>Profiil</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Peidetud sündmused</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>Profiili nimi</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Neid sündmusi &lt;b&gt;kuvatakse&lt;/b&gt; %1 jututoas:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Alias võtmele „--log-level trace“.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Neid sündmusi &lt;b&gt;kuvatakse&lt;/b&gt; igas jututoas:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Seadista üldine logimise korraldus või komadega eraldatud &lt;komponent&gt;=&lt;logimistase&gt; paarid või sootuks mõlemad. Näiteks, kui tahad, et üldine logimine oleks &apos;warn&apos;, aga graafiline liides ehk &apos;ui&apos; ei logiks midagi, siis sisesta &apos;warn,ui=off&apos;. Logimistasemed on: {trace,debug,info,warning,error,critical,off} ning komponendid: {crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Kasutaja sündmused</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>tase</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Liitumised, lahkumised, keelamised ning tunnuspildi ja nime muutused…</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Vali logiväljundi tüüp. Mitme tüübi puhul eralda väärtused komadega. Vaikimisi väärtus on „file,stderr“. types:{file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Õiguste muutused</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>tüüp</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Vasta</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Saadetakse siis, kui lisatakse või eemaldatakse moderaator või kui kasutajate õigused jututoas muutuvad.</translation>
+        <source>Send</source>
+        <translation>Saada</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Kleepsud</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Kirjuta sõnum…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Muudan pildipakki</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Eile, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Lisa pilte</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: päringuvastus oli vigane.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Pildid (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: tundmatu viga .well-known päringu tegemisel.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Vali pildid pildipaki jaoks</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Protokolli järgi nõutavaid lõpppunkte ei leidunud. Ilmselt pole tegemist Matrix&apos;i serveriga.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Lisa pildipakki</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Päringule sain tagasi vigase vastuse. Palun kontrolli, et koduserveri domeen oleks õige.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Muuda selle pildipaki reklaampilti</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Tekkis teadmata viga. Palun kontrolli, et koduserveri domeen on õige.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Reklaampilt (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>Valitud server ei mõista Matrixi protokolli versioone, mida see klient oskab (versioonid 1.1 kuni 1.5). Registreerumine pole võimalik.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Vali pildipaki reklaampilt</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Koduserver ei toeta registreerimisega seotud lisapäringuid!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Olekuvõti</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Koduserver ei toeta registreerimist.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Pildikogu nimi</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Vigane kasutajanimi.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Viide allikale</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>See nimi on juba kasutusel.</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Kasuta emojina</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation>Tegemist on osaga reserveeritud nimeruumist.</translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Kasuta kleepsuna</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Lühend</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Sisu</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Eemalda pakist</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Eemalda</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Pildikogu seadistused</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Losa kasutajakontokohane pildipakk</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Uus jututoa pildipakk</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Isiklik pildipakk</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Pildipakk sellest jututoast</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Pildipakk ülemkogukonast</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Ãœldkasutatav pildipakk</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Luba kasutada üldiselt</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Sellega võimaldad pildipaki kasutamist kõikides jututubades</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Muuda</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Sulge</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Kõik failid (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>„%1“ üleslaadimine ei õnnestunud</translation>
-    </message>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+372"/>
-        <source>Select file(s)</source>
-        <translation>Vali fail(id)</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Kutsu kasutajaid %1 jututuppa</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@kadri:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Otsi kasutajat</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Otsi serveris</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Saada kutse</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Loobu</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Liitu jututoaga</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Jututoa tunnus või alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Liitu</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Lahku jututoast</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Kas sa oled kindel, et soovid lahkuda?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix&apos;i kasutajatunnus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>näiteks @kadri:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Sinu kasutajanimi sisselogimiseks. Matrix&apos;i kasutajatunnus algab @ märgiga ning sellele järgneb kasutajanimi. Seejärel peale koolonit
-on sinu koduserveri nimi. Kui sinu koduserver ei toeta .well-known nimelahendust, siis sa võid lisada ka koduserveri aadressi.
-Näiteks @kadri:server.minu
-Kui Nheko ei suuda tuvastada sinu koduserverit, siis ta kuvab sulle andmevälja selle sisestamiseks.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Salasõna</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Sinu salasõna.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Seadme nimi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Sinu seadme nimi, mida teised osapooled verifitseerimise ajal ja vajadusel hiljem näevad. Kui sa midagi ei sisesta, siis kehtib vaikimisi väärtus.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>Aadress, mis võimaldab ligipääsu sinu koduserveri API&apos;le.
-Näiteks: https://minuserver.ee:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Koduserveri aadress</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.minu:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>LOGI SISSE</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Tagasi</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Sisestatud Matrix&apos;i kasutajatunnus on vigane - peaks olema @kasutaja:server.tld</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: päringuvastus oli vigane.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: tundmatu viga .well-known päringu tegemisel.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Protokolli järgi nõutavaid lõpppunkte ei leidunud. Ilmselt pole tegemist Matrix&apos;i serveriga.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Päringule sain tagasi vigase vastuse. Palun kontrolli, et koduserveri domeen oleks õige.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Tekkis teadmata viga. Palun kontrolli, et koduserveri domeen on õige.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>Valitud server ei mõista Matrixi protokolli versioone, mida see klient oskab (versioonid 1.1 kuni 1.5). Sisselogimine pole võimalik.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Logi sisse Apple&apos;i kontoga</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Logi sisse Facebook&apos;i kontoga</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Logi sisse Google&apos;i kontoga</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Logi sisse Twitter&apos;i kontoga</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Sisselogimine kasutades teenust: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>ÃœHEKORDNE SISSELOGIMINE</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Tühi salasõna</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Ühekordne sisselogimine ei õnnestunud</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Logi välja</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Kõne on pooleli. Kas tõesti logime välja?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Kas sa oled kindel, et soovid välja logida?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Meediafailide üleslaadimine ei õnnestunud. Palun proovi uuesti.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation>%1 eemaldas sõnumi</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 muutis jututoa uueks nimeks: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 eemaldas jututoa nime</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 muutis jututoa uueks teemaks: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 eemaldas jututoa teema</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 muutis jututoa tunnuspilti</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 muutis klammerdatud sõnumeid.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 muutis selle jututoa aadresse.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 lõi ja seadistas jututoa: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 helistas.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 alustas videokõnet.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 helistas.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 ei võtnud kõnet vastu.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 - vali vastus</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 alustab kõnet...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Luba neid</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 vastas kõnele.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Jututuba asendati järgneval põhjusel: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Mine uude jututuppa</translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 muutis selle jututoa ülemkogukonda.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 lõpetas kõne.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Lõpeta kõne</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Helista</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Kõne on juba pooleli</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Saada fail</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Kirjuta sõnum…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Kleepsud</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Saada</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Sul puuduvad selles jututoas õigused sõnumite saatmiseks</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Muuda</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reageeri</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Vasta jutulõngana</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Uus jutulõng</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Vasta</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Valikud</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Eemaldamise põhjus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Lisa eemaldamise põhjus või põhjust lisada ei taha, siis vajuta Enter-klahvi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopeeri</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Kopeeri &amp;lingi asukoht</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;ageeri</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>&amp;Vasta</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Muuda</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Jutulõng</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Võta &amp;lahti</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Määra püsisõnumiks</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>Lugemisteatised</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Edasta</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Märgi loetuks</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Näita sõnumi lähtekoodi</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Näita sõnumi dekrüptitud lähtekoodi</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Eemal&amp;da sõnum</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Salvesta kui</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Ava välise rakendusega</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Kopeeri sündmuse li&amp;nk</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Vaata tsiteeritud sõnumit</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Saada verifitseerimispäring</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Saabus verifitseerimispäring</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Palun verifitseeri oma seadmed. See tagab, et muud kasutajad saaks kontrollida missugused seadmed on sinu omad ning krüptovõtmete automaatne varundus toimiks. Kas verifitseerime mõne verifitseerimata seadme nüüd? (Selleks peab sul mõni verifitseeritud seadmetest käepärast olema.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Selleks, et muud kasutajad automaatselt usaldaks sinu seadmeid, peaksid nad verifitseerima. Samaga muutub ka krüptovõtmete varundus automaatseks. Kas verifitseerime seadme %1?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Tagamaks, et mitte ainsamgi kõrvaline osapool ei saa sinu krüptitud suhtlust pealt kuulata, võid teise osapoole verifitseerida.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 soovib verifitseerida oma seadet %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>Kasutades seadet %2 on %1 palunud verifitseerimist.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Sinu seadme (%1) jaoks on saabunud verifitseerimispäring.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Katkesta</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Keeldu</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Alusta verifitseerimist</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Nõustu</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Sa oled saatmas teavitust kogu jututoale</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 saatis krüptitud sõnumi</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 vastas: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 vastas krüptitud sõnumiga</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 vastas sõnumile</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 saatis sõnumi</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Kas helistame kasutajale %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Ei suuda tuvastada mikrofoni.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Häälkõne</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Videokõne</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Ekraan</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Katkesta</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>implementeerimata sündmus: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>%1 jututoa õigused</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Õiguste muutmisel palun ole ettevaatlik. Sinuga samade või sinust kõrgemate õigustega kasutajate õigusi sa madalamaks muuta ei saa. Mõtle hoolega läbi, kui jagad teistele suuremaid õigusi.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Õigused</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Kasutajad</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Õiguste muutmiseks liiguta toiminguid kasutajarollide vahel</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Peakasutaja (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Moderaator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Kasutaja (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Kohandatud õigused (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Sündmuse tüübi eemaldamine</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Sündmuse tüübi lisamine</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Lisa uus roll</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Lisa</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Õiguste muutmiseks nihuta kasutajaid üles või alla</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Kasutaja eemaldamine</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Kasutaja lisamine</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Jõusta õiguste muudatused</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Millistele alamkogukondadele ja jututubadele peaks need muudatused kehtima?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Jõusta õigused rekursiivselt</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Asenda senised jututubades tehtud muudatused</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Uute õiguste määramiseks pole sul õigusi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Muudatusi pole vaja teha</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Senised õiguste muudatused selles jututoas kirjutatakse nüüd üle</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Kasutame kogukonnaga samu õigusi</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Õiguste muutmine ei õnnestunud: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Õiguste muutmine ei õnnestunud: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Muud sündmused</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Muud olekusündmused</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Muude kasutajate eemaldamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Teistele kasutajatele suhtluskeelu seadmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Kasutajatele kutse saatmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Teiste loodud sündmuste muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reageerimised</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Vana standardi järgsed tegevused aliastega</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Jututoa tunnuspildi muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Jututoa aadresside muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Krüptitud sõnumite saatmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Krüptimise kasutusele võtmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Külaliste ligipääsuõiguste muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Ajaloo nähtavuse muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Liitumisreeglite muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Sõnumite saatmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Jututoa nime nuutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Jututoa õiguste muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Jututoa teema muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Vidinate muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Vidinate muutmine (katseline)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Oma loodud sündmuste muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Kinnitatud teadete muutmine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Jutuoa versiooni uuendus</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Kleepsude saatmine</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Reeglite alusel kasutajatele ligipääsu keelamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Reeglite alusel jututubade keelamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Reeglite alusel serverite keelamine</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Muuda alakogukondi või jututube</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Muuda ülemkogukondi</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Kõne alustamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Kõne ühendamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Kõnele vastamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Kõne lõpetamine</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Ära võta kõnet vastu</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Jutuoa emotikonide muutmine</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Muud kasutajad</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Loo unikaalne kasutajaprofiil, mis võimaldab samaaegselt sisse logide mitmele Matrixi kontole ja avada vastavalt mitu nheko rakenduse akent.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>Profiil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>Profiili nimi</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Alias võtmele „--log-level trace“.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Seadista üldine logimise korraldus või komadega eraldatud &lt;komponent&gt;=&lt;logimistase&gt; paarid või sootuks mõlemad. Näiteks, kui tahad, et üldine logimine oleks &apos;warn&apos;, aga graafiline liides ehk &apos;ui&apos; ei logiks midagi, siis sisesta &apos;warn,ui=off&apos;. Logimistasemed on: {trace,debug,info,warning,error,critical,off} ning komponendid: {crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>tase</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Vali logiväljundi tüüp. Mitme tüübi puhul eralda väärtused komadega. Vaikimisi väärtus on „file,stderr“. types:{file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>tüüp</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Vasta</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Saada</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Kirjuta sõnum…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Lugemisteatised</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Eile, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Kasutajanimi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Kasutajanimi ei tohi olla tühi ning võib sisaldada vaid a-z, 0-9, ., _, =, -, / tähemärke.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Tagasi</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Salasõna</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Palun vali tutvaline salasõna. Täpsemad nõuded salasõnale sõltuvad sinu koduserveri seadistustest.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Korda salasõna</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Sinu seadme nimi, mida teised osapooled verifitseerimise ajal ja vajadusel hiljem näevad. Kui sa midagi ei sisesta, siis kehtib vaikimisi väärtus.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Koduserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>sinu.server</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>See on server, kus sa oma kasutajakonto registreerid. Kuna Matrix on hajutatud suhtlusvõrk, siis esmalt pead leidma sulle sobiliku koduserveri või panema püsti täitsa oma enda koduserveri.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Sinu sisestatud salasõnad ei klapi!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Seadme nimi</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTREERI</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: päringuvastus oli vigane.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Koduserveri automaatne tuvastamine ei õnnestunud: tundmatu viga .well-known päringu tegemisel.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Protokolli järgi nõutavaid lõpppunkte ei leidunud. Ilmselt pole tegemist Matrix&apos;i serveriga.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Päringule sain tagasi vigase vastuse. Palun kontrolli, et koduserveri domeen oleks õige.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Tekkis teadmata viga. Palun kontrolli, et koduserveri domeen on õige.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>Valitud server ei mõista Matrixi protokolli versioone, mida see klient oskab (versioonid 1.1 kuni 1.5). Registreerumine pole võimalik.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Koduserver ei toeta registreerimisega seotud lisapäringuid!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Koduserver ei toeta registreerimist.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Vigane kasutajanimi.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>See nimi on juba kasutusel.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Tegemist on osaga reserveeritud nimeruumist.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Sulge</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Tühista muudatused</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Tühista jutulõng</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Tutvu avalike jututubadega</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Otsi avalikke jututube</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Vali oma koduserver</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>salvestatud versiooni ei leidu</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Uus silt</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Kirjuta silt, mida soovid kasutada:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Ava loend eraldi</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Jututoa seadistused</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Lahku jututoast</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Kopeeri jututoa link</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Lisa jututoale silt:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Lemmik</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Vähetähtis</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Serveriteade</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Loo uus silt…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Lisa kogukonda või eemalda sealt...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Olekuteade</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Sisesta oma olekuteade:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Profiili seadistused</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Sisesta olekuteade</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Logi välja</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Krüptimine pole veel kasutusel</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Verifitseerimata sisselogimissessioon</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Palun verifitseeri oma muud seadmed</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Sulge</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Alusta uut vestlust</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Liitu jututoaga</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Loo uus jututuba</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Alusta otsevestlust</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Loo uus kogukond</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Jututubade loend</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Otsi jututubasid (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Kasutaja seadistused</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>%1 jututoa liikmed</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n osaline %1 jututoas</numerusform>
-            <numerusform>%n osalist %1 jututoas</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Kutsu veel liikmeid</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Otsi...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Sortimise alus: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>Kasutajatunnus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Kuvatav nimi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Kasutaja õigused</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Peakasutaja: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Moderaator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Tavakasutaja: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>See jututuba on krüptimata!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>See kasutaja on verifitseeritud.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>See kasutaja ei ole verifitseeritud, kuid ta kasutab jätkuvalt krüpto jaoks juurvõtmeid sellest ajast, kui te kohtusite.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Sellel kasutajal on verifitseerimata seadmeid!</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>salvestatud versiooni ei leidu</translation>
     </message>
 </context>
 <context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Jututoa seadistused</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Muuda jututoa tunnuspilti.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Muuda selle jututoa nime</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n liige</numerusform>
-            <numerusform>%n liiget</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Vaata %1 jututoa liikmeid</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Teema on kirjeldamata</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Muuda selle jututoa teemat</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>SEADISTUSED</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Teavitused</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Summutatud</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Vaid mainimised</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Kõik sõnumid</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Krüptimine</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Läbiv krüptimine</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Krüptimine on Nhekos hetkel veel katseline ning nii mõndagi võib ootamatult katki minna. &lt;br&gt;
-Palun arvesta, et krüptimist ei saa hiljem enam välja lülitada.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Õigused</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Selle jututoa õiguste vaatamine ja muutmine</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Selle jututoa aadresside ja/või aliaste vaatamine ja muutmine</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Kleepsude ja emotikonide seadistused</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Muuda</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Peidetud sündmused</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Seadista</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Kes iganes võib liituda</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Luba uksele koputamine</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Luba liitumine teiste jututubade kaudu</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Jututoad, mille kaudu on võimalik liituda</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Muuda jututube, mille kaudu on võimalik selle jututoaga liituda. Tavaliselt on selleks näiteks selle jututoa põhiline kogukond.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Luba külalistel liituda</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Jõusta ligipääsureeglid</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Aliased</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Muuda kasutatavaid lisapakke, eemalda neid või lisa uusi</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Vali sündmused, mida siin jututoas peita</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>TEAVE</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Sisemine tunnus</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Kopeeritud lõikelauale</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Jututoa versioon</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>näita vähem</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>näita rohkem</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Krüptimise kasutuselevõtmine ei õnnestunud: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Vali tunnuspilt</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Kõik failid (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Valitud fail ei ole pildifail</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Viga faili lugemisel: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Viga faili üleslaadimisel: %1</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Ootel kutse.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Jututoa eelvaade</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Eelvaade pole saadaval</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Jätkamaks palun sisesta oma salasõna:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Jätkamaks palun sisesta oma kehtiv e-posti aadress:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Jätkamaks palun sisesta kehtiv telefoninumber:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Palun sisesta sulle saadetud tunnuskood:</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Jätkamaks palun oota, kuni oled saanud kinnituslingi.</translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Kas sa soovid jagada oma töölauda kasutajaga %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Krüptimise kasutuselevõtmine ei õnnestunud: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Aken:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Vali tunnuspilt</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Kaadrisagedus:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Kõik failid (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Näita oma kaamerat pilt-pildis vaates</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Valitud fail ei ole pildifail</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Soovi teise osapoole kaameravaadet</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Viga faili lugemisel: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Vaata teise osapoole kaamerat nii nagu tavalise videokõne puhul</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Viga faili üleslaadimisel: %1</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Peida hiirekursor</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Ootel kutse.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Jaga</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Jututoa eelvaade</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Eelvaade</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Eelvaade pole saadaval</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Loobu</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Ühenduse loomine võtmehoidlaga ei õnnestunud</translation>
     </message>
@@ -3243,62 +1236,10 @@ Palun arvesta, et krüptimist ei saa hiljem enam välja lülitada.</translation>
         <translation>Krüptovõtmete salvestamiseks Nhekol ei õnnestunud luua ühendust võtmehoidlaga. Sellel võib olla mitu põhjust. Kontrolli, kas D-Bus&apos;i alusteenus toimib ning sa oled seadistanud KWallet&apos;i, Gnome Keyring&apos;i, KeePassXC&apos;i või mõne muu sinu platvormil kasutatava turvalise andmehoidla teenuse. Probleemide korral palun ava siin https://github.com/Nheko-Reborn/nheko/issues veateade</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>See on sinu taastevõti. Kui peaks olema vaja taastada ligipääsu sinu krüptitud sõnumitele või muudele võtmetele, siis sul läheb seda vaja. Hoia taastevõtit turvalises kohas. Ära jaga seda teistega ega ära kaota teda ära! Ega ära võta vastu sulle selle eest pakutavat 200 eurot!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Krüptimise kasutuselevõtmine õnnestus</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Krüptimise seadistamine ei õnnestunud: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Seadista krüptimine</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Hei ja tere tulemast Matrixi võrku!
-Tundub, et see on uus teema sinu jaoks. Enne, kui sa saad sõnumeid turvaliselt krüptida, on vaja paar asja ära teha. Sa võid kas nõustuda kõikide järgnevate toimingutega ühe korraga või kohendada seadistusi eraldi. Me üritame järgnevalt selgitada ka olulisemaid asjaolusid. Sa võid need küll vahele jätta, kuid selle teabe valdamine tegelikult on kasulik!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Krüptimise aktiveerimine</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Tundud, et sellel kontol juba on krüptimine kasutusel. Saamaks ligipääsu sinu krüptitud sõnumitele ja märkimaks seda seadet usaldusväärseks sa kas tee läbi verifitseerimine või sisesta oma taastamiseks mõeldud salafraas. Palun vali järgnevalt oma eelistus.
-Kui eelistad verifitseerimist, siis peab sul teine seade olema käepärast. Kui eelistad salafraasi sisestamist, siis peab sul olema käepärast oma konto taastevõti või salafraas. Kui praegu katkestad, siis verifitseerimist saad alati ka hiljem teha.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>verifitseeri</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>sisesta salafraas</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Risttunnustamise võtmete loomine ei õnnestunud!</translation>
     </message>
@@ -3331,19 +1272,19 @@ Kui eelistad verifitseerimist, siis peab sul teine seade olema käepärast. Kui
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Pildipaki uuendamine ei õnnestunud: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Vana pildipaki kustutamine ei õnnestunud: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Pildi avamine ei õnnestunud: %1</translation>
     </message>
@@ -3354,97 +1295,10 @@ Kui eelistad verifitseerimist, siis peab sul teine seade olema käepärast. Kui
         <translation>Faili üleslaadimine ei õnnestunud: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Lisa kogukonda või eemalda sealt</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Selle jututoa ametlik kogukond</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Selle jututoaga seotud kogukond</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Kuvatakse vaid kogukonna liikmetele</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Kuvatakse vaid jututoa liikmetele</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Pole seotud</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Alamkogukonnad</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Ebaõnnestus</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Saadetud</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Vastuvõetud</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Loetud</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Otsi</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Verifitseerimine õnnestus</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verifitseerimine õnnestus! Mõlema osapoole seadmed on nüüd verifitseeritud!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Sulge</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Sõnumi ümbersõnastamine ebaõnnestus: %1</translation>
@@ -3476,7 +1330,7 @@ Kui eelistad verifitseerimist, siis peab sul teine seade olema käepärast. Kui
         <translation>Salvesta fail</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3745,268 +1599,111 @@ Reason: %4</source>
 Põhjus: %4</translation>
     </message>
     <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation>%2 tühistas kutse kasutajale %1.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation>%2 müksas kasutaja %1 jututoast välja.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation>%2 eemaldas ligipääsupiirangu kasutajalt %1.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 lükkas tagasi kasutaja %1 koputuse jututoa uksele.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 muutis oma tunnuspilti.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 muutis oma profiili.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 liitus jututoaga.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 liitus peale autentimist serverist %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 lükkas liitumiskutse tagasi.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 lahkus jututoast.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Põhjus: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 muutis oma koputust jututoa uksele.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Sa liitusid jututoaga.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 seadistas, et see jututuba vajab liitumiseks kutset.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 saatis kutse kasutajale %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 muutis oma tunnuspilti ja seadistas uueks kuvatavaks nimeks %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 seadistas uueks kuvatavaks nimeks %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 lahkus jututoast peale seda, kui ta juba oli lahkunud!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 seadis suhtluskeelu kasutajale %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 müksati välja.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Muudetud</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Osa jutulõngast</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Ãœhtegi jututuba pole avatud</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Eelvaade pole saadaval</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Seadistused</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n liige</numerusform>
-            <numerusform>%n liiget</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Vaata %1 jututoa liikmeid</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>liitu vestlusega</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>võta kutse vastu</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>lükka kutse tagasi</translation>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
+        <translation>%2 tühistas kutse kasutajale %1.</translation>
     </message>
     <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Peida kutse põhjus</translation>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
+        <translation>%2 müksas kasutaja %1 jututoast välja.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Näita kutse põhjust</translation>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
+        <translation>%2 eemaldas ligipääsupiirangu kasutajalt %1.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Tagasi jututubade loendisse</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 lükkas tagasi kasutaja %1 koputuse jututoa uksele.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Tagasi jututubade loendisse</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 muutis oma tunnuspilti.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Jututuba on valimata</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 muutis oma profiili.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>%1 kogukonnas</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 liitus jututoaga.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Näita jututoas osalejaid.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 liitus peale autentimist serverist %2.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Selles jututoas on vaid verifitseeritud seadmed.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 lükkas liitumiskutse tagasi.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Selles jututoas on vaid verifitseeritud seadmed ning nad ei ole kunagi muutnud oma juurvõtit.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 lahkus jututoast.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Selles jututoas leidub verifitseerimata seadmeid!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Põhjus: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Näita klammerdatud sõnumeid või peida nad</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 muutis oma koputust jututoa uksele.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Otsi siit jututoast</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Sa liitusid jututoaga.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Jututoa valikud</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 seadistas, et see jututuba vajab liitumiseks kutset.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Kutsu kasutajaid</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 saatis kutse kasutajale %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Liikmed</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 muutis oma tunnuspilti ja seadistas uueks kuvatavaks nimeks %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Lahku jututoast</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 seadistas uueks kuvatavaks nimeks %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Seadistused</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 lahkus jututoast peale seda, kui ta juba oli lahkunud!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Võta lahti</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 seadis suhtluskeelu kasutajale %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Sisesta otsing</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 müksati välja.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Näita</translation>
     </message>
@@ -4019,13 +1716,13 @@ Põhjus: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Registreerimiseks vajalikku töövoogu ei leidu!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Registreerimine on katkestatud</translation>
@@ -4041,112 +1738,10 @@ Põhjus: %4</translation>
         <translation>Vigane tunnusluba</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Laadi fail üles</numerusform>
-            <numerusform>Laadi %n faili üles</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Ãœldine kasutajaprofiil</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Kasutajaprofiil jututoas</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Muuda oma tunnuspilti kõikjal.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Muuda oma tunnuspilti vaid selles jututoas.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Muuda oma kuvatavat nime kõikjal.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Muuda oma kuvatavat nime vaid selles jututoas.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Jututuba: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>See kasutajaprofiil on vaid selle jututoa kohane. Kasutaja kuvatav nimi ja tunnuspilt võivad muudes jutubades olla teistsugused.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Vaata selle kasutaja üldist profiili.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Verifitseeri</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Alusta privaatset vestlust.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Müksa kasutaja välja.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Sea kasutajale suhtluskeeld.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Uuenda seadmete loendit.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Logi see seade võrgust välja.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Muuda seadme nime.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Viimati oli võrgus %1 %2 aadressil</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Võta verifitseerimine tagasi</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Logi %1 seade võrgust välja</translation>
     </message>
@@ -4179,8 +1774,8 @@ Põhjus: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Vaikimisi</translation>
     </message>
@@ -4188,7 +1783,7 @@ Põhjus: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Teema</translation>
     </message>
@@ -4257,6 +1852,11 @@ Põhjus: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Järjesta jututoad lugemata tubade alusel</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4518,12 +2118,22 @@ Põhjus: %4</translation>
         <translation>Jaga jututoa teavet D-Bus&apos;i vahendusel</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Vaikimisi</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Seadista helin, mis annab märku uuest kõnest</translation>
     </message>
@@ -4596,7 +2206,21 @@ This will also enable or disable sending typing notifications to others.</source
 Samaga lülitatakse sisse või välja ka sinu kirjutamisteatiste saatmine teistele kasutajatele.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Näita iga sõnumi kõrval nuppe, mis võimaldavad kiiresti vastata, reageerida või teha sõnumiga muid toiminguid.</translation>
     </message>
@@ -4650,17 +2274,17 @@ This usually causes the application icon in the task bar to animate in some fash
 See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti animatsiooniga sulle märku.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Kogukondade külgpaan</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Näita kogukonna või sildi sõnumite arvu</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Seadista sõnumite suurim laius pikslites ajajoonel. See parandab loetavust suurel ekraanil, kui Nheko on avatud täisvaates</translation>
     </message>
@@ -4670,16 +2294,7 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
         <translation>Näita jututubade loendi kõrval veergu kogukondade ja siltidega.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Kuva uute sõnumitega jututoad esimesena.
-Kui see valik on välja lülitatud, siis jututoad järjestatakse viimati saabunud sõnumi ajatempli alusel.
-Kui see valik on sisse lülitatud, siis teavitustega jututoad (pisike ümmargune numbriga ikoon) järjestatakse esimesena. Sinu poolt summutatud jututoad järjestatakse ikkagi ajatempli alusel, sest sa ei pea neid teiste jututubadega võrreldes piisavalt tähtsaks.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4770,7 +2385,17 @@ This setting will take effect upon restart.</source>
 Selle funktsionaalsuse jõustumine eeldab rakenduse uuesti käivitamist.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Vali fail</translation>
     </message>
@@ -4780,7 +2405,7 @@ Selle funktsionaalsuse jõustumine eeldab rakenduse uuesti käivitamist.</transl
         <translation>Kõik failid (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Ava sessioonide fail</translation>
     </message>
@@ -4822,117 +2447,18 @@ Selle funktsionaalsuse jõustumine eeldab rakenduse uuesti käivitamist.</transl
         <translation>Fail, kuhu salvestad eksporditavad sessiooni krüptovõtmed</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>PÄRING</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>ALLALAADIMISED</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>PUHVERDATUD</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>PUHVERDAMATA</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Tagasi</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORDI</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EKSPORDI</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Ühtegi krüptitud vestlust selle kasutajaga ei leidunud. Palun loo temaga krüptitud vestlus ja proovi uuesti.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Ootan teise osapoole tegevust…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Ootan, et teine osapool nõustuks verifitseerimispäringuga.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Ootan, et teine osapool jätkaks verifitseerimist.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Ootan, et teine osapool lõpetaks verifitseerimise.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Tühista</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Tere tulemast Nheko kasutajaks! Töölauarakendus Matrix&apos;i protokolli jaoks.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Head suhtlemist!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTREERU</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>LOGI SISSE</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Vähenda animatsioone</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Et kasutajaliides oleks toredam, kasutab Nheko mitmel puhul animatsioone. Kui see sulle ei sobi, siis saad nad välja lülitada.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Eile</translation>
     </message>
@@ -4940,7 +2466,7 @@ Selle funktsionaalsuse jõustumine eeldab rakenduse uuesti käivitamist.</transl
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Ava kasutaja registreerimise tagavaravariant veebibrauseris</translation>
     </message>
@@ -4961,32 +2487,52 @@ Selle funktsionaalsuse jõustumine eeldab rakenduse uuesti käivitamist.</transl
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Ava reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Inimesed</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Tühista</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Loodus</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Kinnita</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Toit</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Vasta reCAPTCHA küsimustele ja vajuta kinnita-nuppu</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Tegevused</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Reisimine</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Esemed</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Sümbolid</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Lipud</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Sa saatsid helifaili</translation>
     </message>
@@ -5047,25 +2593,25 @@ Selle funktsionaalsuse jõustumine eeldab rakenduse uuesti käivitamist.</transl
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Sina: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>Sina saatsid serpentiine</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 saatis serpentiine</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_fi.ts b/resources/langs/nheko_fi.ts
index 3b8dfd360abb2f9669a7c75f61077ed4b41778cb..69e7742b29f7e47625a7933ba66a57ad3325af4f 100644
--- a/resources/langs/nheko_fi.ts
+++ b/resources/langs/nheko_fi.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="fi">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Soitetaan…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Yhdistetään…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Olet jakamassa näyttöä.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Piilota/Näytä kuva kuvassa</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Poista mikrofonin vaimennus</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Vaimenna mikrofoni</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Aliasten päivittäminen epäonnistui: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Aliakset huoneelle %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Lista tämän huoneen aliaksista. Yleensä voit lisätä aliaksia vain omalle kotipalvelimellesi. Huoneella voi olla yksi alkuperäinen alias ja monta vaihtoehtoista aliasta.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Ensisijainen alias</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Tee ensisijaiseksi aliakseksi</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Esitä aliaksena tässä huoneessa</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Julkaise huonehakemistoon</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Poista tämä alias</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#uusi-alias:palvelin.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Lisää</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Sallittujen huoneiden asetukset</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Lista huoneista, jonka jäsenyys takaa pääsyn tähän huoneeseen.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Yhteisövanhempi</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Toinen huone</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Syötä huoneita, jotka puuttuvat vielä listasta...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 ja %n muu</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Tyhjä Huone</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videopuhelu</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Äänipuhelu</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Mikrofonia ei löydy.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videopuhelu</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Äänipuhelu</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Laitteet</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Hyväksy</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Tuntematon mikrofoni: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Tuntematon kamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Hylkää</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Mikrofonia ei löydy.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Koko näyttö</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Käyttäjän %1 kutsuminen epäonnistui</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Kutsuttiin käyttäjä: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Vahvista uloskirjautuminen</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>Levylläsi oleva välimuisti on uudempaa kuin mitä tämä Nhekon versio tukee. Päivitä Nheko tai poista välimuistisi.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Tietokannan avaaminen epäonnistui, kirjaudutaan ulos!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Vahvista kutsu</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Haluatko varmasti kutsua %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Purettiin porttikielto käyttäjältä %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Haluatko luoda yksityisen keskustelun käyttäjän %1 kanssa?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Välimuistin siirto epäonnistui!</translation>
     </message>
@@ -347,7 +195,7 @@ Jos luulet tätä virheeksi, voit sulkea Nhekon yrittääksesi saada salausavaim
         <translation>Yhteensopimaton välimuistin versio</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <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>
@@ -421,16 +269,11 @@ Voit antaa valinnaisen syyn muiden hyväksyäkseen koputuksesi:</translation>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Anna syy porttikiellolle %1 (%2) tai paina enter mikäli syytä ei ole:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Ei verkkoyhteyttä</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;viesti&gt;</translation>
     </message>
@@ -541,6 +384,16 @@ Voit antaa valinnaisen syyn muiden hyväksyäkseen koputuksesi:</translation>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;viestin viite&gt;</translation>
     </message>
@@ -680,6 +533,16 @@ Voit antaa valinnaisen syyn muiden hyväksyäkseen koputuksesi:</translation>
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Lähetä viesti sateenkaaren väreissä confetin kera.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -696,33 +559,10 @@ Voit antaa valinnaisen syyn muiden hyväksyäkseen koputuksesi:</translation>
         <translation>Muunna yksityiskeskustelu huoneeksi.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Älä näytä ilmoitusmääriä tästä yhteisöstä tai tagista.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Piilota huoneet tällä tagilla oletuksena tästä yhteisöstä.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Laajenna</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Sorruta</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Kaikki huoneet</translation>
     </message>
@@ -772,7 +612,7 @@ Voit antaa valinnaisen syyn muiden hyväksyäkseen koputuksesi:</translation>
         <translation>Viestit palvelimeltasi tai ylläpitäjältä.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Yhteisön päivitys epäonnistui: %1</translation>
     </message>
@@ -793,2446 +633,600 @@ Voit antaa valinnaisen syyn muiden hyväksyäkseen koputuksesi:</translation>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Vahvista liittyminen yhteisöön</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Salaisuuksien salauksen purku</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Vahvista liittyminen huoneeseen</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Anna palauttamisavain tai salasana purkaaksesi salaisuuksiesi salaus:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n jäsen</numerusform>
-            <numerusform>%n jäsentä</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Anna palautusavaimesi tai salasanasi nimeltä %1 purkaaksesi salaisuuksien salauksen:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Haluatko liittyä tähän huoneeseen? Voit antaa valinnaisen syyn alhaalla:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Salauksen purku epäonnistui</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Tähän huoneeseen ei voi liittyä suoraan. Voit kuitenkin koputtaa huoneeseen, jolloin jäsenet voivat hyväksyä tai evätä liittymispyyntösi. Voit lisäksi antaa syyn heidän hyväksyäkseen liittymisesi alhaalla:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Salaisuuksien salauksen purkaminen ei onnistunut annetulla palautusavaimella tai salasanalla</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Koputa</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Piilotettujen tapahtumien asettaminen epäonnistui: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Liity</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Luo suora keskustelu</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Piilotettujen tapahtumien asettaminen epäonnistui: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Kutsuttava käyttäjä</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Kaikki Tiedostot (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@käyttäjä:palvelin.tld</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Tiedoston &quot;%1&quot; lähetys epäonnistui</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Salaus</translation>
+        <location line="-901"/>
+        <source>Select file(s)</source>
+        <translation>Valitse tiedosto(t)</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Luo huone</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Väärä Matrix-tunnus. Esim.  @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Nimi</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Palvelimen tietojen hakeminen epäonnistui: virheellinen vastaus.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Uusi yhteisö</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Palvelimen tietojen hakeminen epäonnistui: tuntematon virhe hakiessa .well-known -tiedostoa.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Uusi huone</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Vaadittuja päätepisteitä ei löydetty. Mahdollisesti ei Matrix-palvelin.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Ei nimeä</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Vastaanotettiin virheellinen vastaus. Varmista, että kotipalvelimen osoite on pätevä.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Aihe</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Tapahtui tuntematon virhe. Varmista, että kotipalvelimen osoite on pätevä.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Ei aihetta</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>Valittu palvelin ei tue mitään tämän ohjelman tukemaa versiota Matrix-protokollasta (v.1.1:stä v.1.4:ään). Et voi kirjautua sisään.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Kirjaudu sisään Applella</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Julkinen</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Jatka Facebookilla</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Julkisiin huoneisiin voi liittyä kuka tahansa; yksityisiin huoneisiin vaaditaan erillinen kutsu.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Kirjaudu sisään Googlella</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Luotettu</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Kirjaudu sisään Twitterillä</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Kaikki kutsuttavat saavat saman oikeustason kuin huoneen luoja</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Kirjaudu sisään palvelun %1 kautta</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Salaus</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO-kirjautuminen</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Varoitus: Salausta ei voi poistaa käytöstä</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Tyhjä salasana</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO-kirjautuminen epäonnistui</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Salaisuuksien salauksen purku</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+747"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Mediaa ei onnistuttu lähettämään. Yritä uudelleen.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Anna palauttamisavain tai salasana purkaaksesi salaisuuksiesi salaus:</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Anna palautusavaimesi tai salasanasi nimeltä %1 purkaaksesi salaisuuksien salauksen:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 lähetti salatun viestin</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Salauksen purku epäonnistui</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 vastasi: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Salaisuuksien salauksen purkaminen ei onnistunut annetulla palautusavaimella tai salasanalla</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 vastasi salatulla viestillä</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Vahvistuskoodi</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 vastasi viestiin</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Vahvista seuraavat numerot. Sinun tulisi nähdä samat numerot molemmilla puolilla. Jos niissä on eroa, paina &quot;Ne eivät vastaa toisiaan&quot; peruaksesi vahvistuksen!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 lähetti viestin</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Ne eivät vastaa toisiaan!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Oikeustason päivitys epäonnistui: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ne vastaavat toisiaan!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Oikeustason päivitys epäonnistui: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Hae</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Muut tapahtumat</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Ihmiset</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Muut tilatapahtumat</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Luonto</translation>
+        <source>Remove other users</source>
+        <translation>Poista toisia käyttäjiä huoneesta</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Ruoka</translation>
+        <source>Ban other users</source>
+        <translation>Anna porttikieltoja toisille käyttäjille</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktiviteetti</translation>
+        <source>Invite other users</source>
+        <translation>Kutsu toisia käyttäjiä</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Matkustaminen</translation>
+        <source>Redact events sent by others</source>
+        <translation>Vedä pois muiden lähettämiä tapahtumia</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Esineet</translation>
+        <source>Reactions</source>
+        <translation>Reaktiot</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symbolit</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Käytöstä poistettujen aliasten tapahtumat</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Liput</translation>
+        <source>Change the room avatar</source>
+        <translation>Muuta huoneen avataria</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Vahvistuskoodi</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Muuta huoneen osoitteita</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Vahvista seuraava emoji. Sinun tulisi nähdä sama emoji molemmilla puolilla. Jos ne eroavat toisistaan, paina &quot;Ne eivät vastaa toisiaan&quot; peruaksesi vahvistuksen!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Lähetä salattuja viestejä</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Näytettävä emoji voi näyttää erilaiselta eri asiakasohjelmissa, jos käytetään eri fontteja. Niitä ei myöskään ole välttämättä käännetty eri kielille. Niiden silti pitäisi esittää yhtä 64:stä esineestä tai eläimestä. Esimerkiksi leijona ja kissa ovat erinäköisiä, mutta kissaemoji on silti sama, vaikka yhdessä ohjelmassa se esitettäisiin kissan kasvoina, ja toisessa koko ruumiina.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Ota salaus käyttöön</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Ne eivät vastaa toisiaan!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Muuta vieraspääsyä</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ne vastaavat toisiaan!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Muuta historian näkyvyyttä</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Tämän viestin avaamista varten ei ole avainta. Pyysimme avainta automaattisesti, mutta voit yrittää pyytää sitä uudestaan jos olet kärsimätön.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Muuta liittymisehtoja</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Tämän viestin salausta ei voitu purkaa, koska meillä on avain vain uudemmille viesteille. Voit yrittää pyytää pääsyä tähän viestiin.</translation>
+        <source>Send messages</source>
+        <translation>Lähetä viestejä</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Sisäinen virhe tapahtui kun salausavainta yritettiin lukea tietokannasta.</translation>
+        <source>Change the room name</source>
+        <translation>Muuta huoneen nimeä</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Tämän viestin salauksen purkamisessa tapahtui virhe.</translation>
+        <source>Change the room permissions</source>
+        <translation>Muuta huoneen oikeuksia</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Tätä viestiä ei voitu jäsentää.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Muuta huoneen aihetta</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Salausavainta käytettiin uudelleen! Joku yrittää mahdollisesti tuoda vääriä viestejä tähän keskusteluun!</translation>
+        <source>Change the widgets</source>
+        <translation>Muuta pienoisohjelmia</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Tuntematon virhe salauksen purkamisessa</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Muuta pienoisohjelmia (kokeellinen)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Pyydä avainta</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Vedä pois omia tapahtumia</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 otti käyttöön päästä-päähän salauksen</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Muuta kiinnitettyjä tapahtumia</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Salaus pitää viestisi turvallisena sallien vain vastaanottajien lukea sen. Saadaksesi lisäturvallisuutta varmistaen keskustelevasi oikeiden henkilöiden kanssa, voit varmistaa heidät oikeassa elämässä.</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Päivitä huoneen versiota</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Tätä viestiä ei ole salattu!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Lähetä tarroja</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Vahvistetun laitteen salaama</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Anna porttikieltoja käytäntölistojen perusteella</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Vahvistamattoman laitteen salaama, mutta olet luottanut tähän asti tuohon käyttäjään.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Anna huoneille porttikielttoja käytäntölistojen perusteella</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Vahvistamattoman laitteen salaama tai tämä avain on epäluotettavasta lähteestä kuten avaimen varmuuskopiosta.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Anna palvelimille porttikieltoja käytäntölistojen perusteella</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Vahvistus epäonnistui</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Muokkaa aliyhteisöjä ja -huoneita</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Toinen asiakasohjelma ei tue vahvistusprotokollaamme.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Muuta yhteisövanhempia</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Tunnistettiin virheellinen avain!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Aloita puheluja</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Aikakatkaisu laitteen vahvistuksessa.</translation>
+        <source>Negotiate a call</source>
+        <translation>Järjestele puheluita</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Toinen osapuoli perui vahvistuksen.</translation>
+        <source>Answer a call</source>
+        <translation>Vastaa puheluihin</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Varmistusviestit vastaanotettiin epäjärjestyksessä!</translation>
+        <source>Hang up a call</source>
+        <translation>Lopeta puheluita</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Tuntematon varmennusvirhe.</translation>
+        <source>Reject a call</source>
+        <translation>Hylkää puhelu</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Sulje</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Muuta huoneen hymiöitä</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Välitä viesti</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Muut käyttäjät</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Piilotettujen tapahtumien asettaminen epäonnistui: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Luo ainutkertainen profiili, jonka kautta voit kirjautua sisään samanaikaisesti usealla käyttäjällä, sekä käynnistää Nhekosta monta ilmentymää.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Piilotetut tapahtumat huoneelle %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profiili</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Piilotetut tapahtumat</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>profiilin nimi</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Nämä tapahtumat tullaan &lt;b&gt;näyttämään&lt;/b&gt; huoneessa %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Lisänimi optiolle &apos;--log-level trace&apos;.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Nämä tapahtumat tullaan &lt;b&gt;näyttämään&lt;/b&gt; kaikissa huoneissa:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Aseta komponenttien laajuinen lokitaso, tai pilkuilla eroteltu lista koostuen &lt;komponentti&gt;=&lt;taso&gt; -pareista, tai molemmat. Esimerkiksi oletuslokitason asettaminen tasoon &apos;warn&apos;, mutta komponentin &apos;ui&apos; lokin kirjaamisen ottamiseen pois päältä, syötä &apos;warn,ui=off&apos;. Tasot ovat {trace,debug,info,warning,error,critical,off}, komponentit {crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Käyttäjätapahtumat</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>taso</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Liittymiset, poistumiset, avatarin ja nimen muutokset, porttikiellot, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Aseta lokin ulostulotyyppi. Sallitaan pilkuilla eritelty lista. Oletusarvo on &apos;file,stderr&apos;. types:{file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Oikeustasojen muutokset</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>tyyppi</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Vastaa</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Lähetetään moderaattorin tullessa lisätyksi/poistetuksi tai kun huoneen oikeuksia muutetaan.</translation>
+        <source>Send</source>
+        <translation>Lähetä</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Tarrat</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Kirjoita viesti…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Muokataan kuvapakkausta</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Eilen, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Lisää kuvia</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Palvelimen tietojen hakeminen epäonnistui: virheellinen vastaus.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Kuvat (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Palvelimen tietojen hakeminen epäonnistui: tuntematon virhe hakiessa .well-known -tiedostoa.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Valitse kuvat pakettia varten</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Vaadittuja päätepisteitä ei löydetty. Mahdollisesti ei Matrix-palvelin.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Lisää pakettiin</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Vastaanotettiin virheellinen vastaus. Varmista, että kotipalvelimen osoite on pätevä.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Muuta tämän kokoelman yleisnäkymän kuvaa</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Tapahtui tuntematon virhe. Varmista, että kotipalvelimen osoite on pätevä.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Yleisnäkymän kuva (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>Valittu palvelin ei tue mitään tämän ohjelman tukemaa versiota Matrix-protokollasta (v.1.1:stä v.1.4:ään). Et voi rekisteröityä.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Valitse yleisnäkymän kuva paketille</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Palvelin ei tue rekisteröintimenetelmien kyselyä!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>TIla-avain</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Palvelin ei tue rekisteröitymistä.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Pakkauksen nimi</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Epäkelpo käyttäjätunnus.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Osoitus</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Nimi on jo käytössä.</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Käytä emojina</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Käytä tarrana</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Lyhyt koodi</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Runko</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Poista pakkauksesta</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Poista</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Kuvapakkauksen asetukset</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Luo tilipakkaus</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Uusi huonepakkaus</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Yksityinen pakkaus</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Pakkaus tälle huoneelle</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Pakkaus yhteisövanhemmasta</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Kaikkialla käytössä oleva pakkaus</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Salli käytettäväksi kaikkialla</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Sallii tämän pakkauksen käytettäväksi kaikissa huoneissa</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Muokkaa</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Sulje</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Kaikki Tiedostot (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Tiedoston &quot;%1&quot; lähetys epäonnistui</translation>
-    </message>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+372"/>
-        <source>Select file(s)</source>
-        <translation>Valitse tiedosto(t)</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Kutsu käyttäjiä %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@matti:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Hae käyttäjää</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Hae palvelimella</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Kutsu</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Liity huoneeseen</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Huoneen tunnus tai osoite</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Liity</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Poistu huoneesta</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Oletko varma, että haluat poistua?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix-tunnus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>esim. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Kirjautumistunnuksesi. Mxid:n on alettava @:lla, jonka perään käyttäjätunnus. Käyttäjätunnuksen perään tarvitset palvelimesi nimen :-merkin jälkeen,
-esimerkiksi @nimi:palvelime.ni.
-Jos Nheko ei löydä kotipalvelintasi .well-known -haun kautta, voit syöttää käsin palvelimesi osoitteen.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Salasana</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Salasanasi.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Laitteen nimi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Nimi tälle laitteelle, joka näytetään muille laitteitasi vahvistaessa. Jos et syötä mitään, käytetään oletusarvoa.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>Osoite, jonka kautta otetaan yhteys kotipalvelimesi asiakasohjelmarajapintaan.
-Esimerkki: https://palvelime.ni:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Kotipalvelimen osoite</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.my:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>KIRJAUDU</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Takaisin</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Väärä Matrix-tunnus. Esim.  @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Palvelimen tietojen hakeminen epäonnistui: virheellinen vastaus.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Palvelimen tietojen hakeminen epäonnistui: tuntematon virhe hakiessa .well-known -tiedostoa.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Vaadittuja päätepisteitä ei löydetty. Mahdollisesti ei Matrix-palvelin.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Vastaanotettiin virheellinen vastaus. Varmista, että kotipalvelimen osoite on pätevä.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Tapahtui tuntematon virhe. Varmista, että kotipalvelimen osoite on pätevä.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>Valittu palvelin ei tue mitään tämän ohjelman tukemaa versiota Matrix-protokollasta (v.1.1:stä v.1.4:ään). Et voi kirjautua sisään.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Kirjaudu sisään Applella</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Jatka Facebookilla</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Kirjaudu sisään Googlella</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Kirjaudu sisään Twitterillä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Kirjaudu sisään palvelun %1 kautta</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO-kirjautuminen</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Tyhjä salasana</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO-kirjautuminen epäonnistui</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Kirjaudu ulos</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Puhelu on käynnissä. Haluatko kirjautua ulos?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Haluatko varmasti kirjautua ulos?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Mediaa ei onnistuttu lähettämään. Yritä uudelleen.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Tämä huone korvattiin seuraavasta syystä: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Siirry korvaavaan huoneeseen</translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 poisti viestin</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 vaihtoi huoneen nimeksi: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 poisti huoneen nimen</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 vaihtoi aiheeksi: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 poisti aiheen</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 muutti huoneen avataria</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 muutti kiinnitettyjä viestejä.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 muutti tämän huoneen osoitteita.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 muutti tämän huoneen yhteisövanhempia.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 loi ja sääti huoneen: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 asetti äänipuhelun.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 laittoi videopuhelun.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 soitti puhelun.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 vastasi puheluun.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 hylkäsi puhelun.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 valitsi vastauksen</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 päätti puhelun.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 neuvottelee puhelua...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Päästä hänet sisään</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Punainen luuri</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Soita puhelu</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Jo puhelussa</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Lähetä tiedosto</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Kirjoita viesti…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Tarrat</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Lähetä</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Sinulla ei ole oikeutta lähettää viestejä tässä huoneessa</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Muokkaa</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reagoi</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Vastaa viestiketjussa</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Uusi viestiketju</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Vastaa</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Asetukset</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Syy poistamiselle</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Anna syy poistamiselle tai paina enter mikäli syytä ei ole:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopioi</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Kopioi &amp;linkin kohde</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Rea&amp;goi</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Vast&amp;aa</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Muokkaa</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Viestiketju</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Lisää/poista kiinnitys</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Kiinnitä</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>%Lukukuittaukset</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Lähetä eteenpäin</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Merkitse luetuksi</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Näytä sisältö raakamuodossa</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Näytä salaukseltaan purettu sisältö raakamuodossa</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Poist&amp;a viesti</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Tallenna nimellä</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Avaa ulkoisessa sovelluksessa</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Kopioi linkki tapaht&amp;umaan</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Mene lainattuun viestiin</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Lähetä vahvistuspyyntö</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Otettiin vastaan vahvistuspyyntö</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Jotta muut käyttäjät näkisivät, mitkä laitteet oikeasti kuuluvat sinulle, voit vahvistaa ne. Se sallii myös avainvarmuuskopion automaattisen toiminnan. Vahvistatko vahvistamattoman laitteen nyt? (Varmistathan, että jokin niistä on saatavilla.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Jotta muut käyttäjät näkisivät, mitkä laitteet oikeasti kuuluvat sinulle, voit vahvistaa ne. Se sallii myös avainvarmuuskopion automaattisen toiminnan. Vahvistatko laitteen %1 nyt?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Varmistaaksesi, ettei kukaan pahantahtoinen käyttäjä voi salakuunnella salattuja keskustelujanne, voit vahvistaa toisen osapuolen.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 on pyytänyt vahvistamaan hänen laitteeensa %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 on pyytänyt vahvistamista laitteella %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Laitteesi (%1) on pyytänyt vahvistetuksi tulemista.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Kiellä</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Aloita vahvistus</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Hyväksy</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Aiot ilmoittaa kaikkia huoneessa olevia</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 lähetti salatun viestin</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 vastasi: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 vastasi salatulla viestillä</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 vastasi viestiin</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 lähetti viestin</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Soita henkilölle %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Mikrofonia ei löydy.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Ääni</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Näyttö</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>toistaiseksi toteuttamaton tapahtuma: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Oikeudet huoneessa %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Ole varovainen oikeuksien muokkaamisessa. Et voi vähentää käyttäjien oikeuksia, joilla on sama oikeustaso itsesi kanssa tai korkeampi. Ole varovainen muiden ylennyksessä.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Roolit</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Käyttäjät</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Siirrä oikeuksia roolien välillä muuttaaksesi niitä</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Ylläpitäjä (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Moderaattori (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Käyttäjä (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Mukautettu (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Poista tapahtumatyyppejä</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Lisää tapahtumatyyppejä</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Lisää uusi rooli</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Lisää</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Siirrä käyttäjiä ylös tai alas muuttaaksesi heidän oikeuksiaan</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Poista käyttäjiä huoneesta</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Lisää käyttäjiä</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Saata oikeusmuutokset voimaan</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Mihin aliyhteisöihin ja huoneisiin pitäisi soveltaa näitä oikeuksia?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Saata oikeudet voimaan rekursiivisesti</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Kirjoita huoneissa olemassaolevien muutosten päälle</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Ei oikeuksia saattaa täällä voimaan uusia oikeuksia</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Ei vaadita muutoksia</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Tässä huoneessa olemassaolevat muutokset oikeuksiin päällekirjoitetaan</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Käytetään samoja oikeuksia kuin yhteisössä</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Oikeustason päivitys epäonnistui: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Oikeustason päivitys epäonnistui: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Muut tapahtumat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Muut tilatapahtumat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Poista toisia käyttäjiä huoneesta</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Anna porttikieltoja toisille käyttäjille</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Kutsu toisia käyttäjiä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Vedä pois muiden lähettämiä tapahtumia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reaktiot</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Käytöstä poistettujen aliasten tapahtumat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Muuta huoneen avataria</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Muuta huoneen osoitteita</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Lähetä salattuja viestejä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Ota salaus käyttöön</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Muuta vieraspääsyä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Muuta historian näkyvyyttä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Muuta liittymisehtoja</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Lähetä viestejä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Muuta huoneen nimeä</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Muuta huoneen oikeuksia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Muuta huoneen aihetta</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Muuta pienoisohjelmia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Muuta pienoisohjelmia (kokeellinen)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Vedä pois omia tapahtumia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Muuta kiinnitettyjä tapahtumia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Päivitä huoneen versiota</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Lähetä tarroja</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Anna porttikieltoja käytäntölistojen perusteella</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Anna huoneille porttikielttoja käytäntölistojen perusteella</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Anna palvelimille porttikieltoja käytäntölistojen perusteella</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Muokkaa aliyhteisöjä ja -huoneita</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Muuta yhteisövanhempia</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Aloita puheluja</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Järjestele puheluita</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Vastaa puheluihin</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Lopeta puheluita</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Hylkää puhelu</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Muuta huoneen hymiöitä</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Muut käyttäjät</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Luo ainutkertainen profiili, jonka kautta voit kirjautua sisään samanaikaisesti usealla käyttäjällä, sekä käynnistää Nhekosta monta ilmentymää.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profiili</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>profiilin nimi</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Lisänimi optiolle &apos;--log-level trace&apos;.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Aseta komponenttien laajuinen lokitaso, tai pilkuilla eroteltu lista koostuen &lt;komponentti&gt;=&lt;taso&gt; -pareista, tai molemmat. Esimerkiksi oletuslokitason asettaminen tasoon &apos;warn&apos;, mutta komponentin &apos;ui&apos; lokin kirjaamisen ottamiseen pois päältä, syötä &apos;warn,ui=off&apos;. Tasot ovat {trace,debug,info,warning,error,critical,off}, komponentit {crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>taso</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Aseta lokin ulostulotyyppi. Sallitaan pilkuilla eritelty lista. Oletusarvo on &apos;file,stderr&apos;. types:{file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>tyyppi</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Vastaa</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Lähetä</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Kirjoita viesti…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Lukukuittaukset</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Eilen, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Käyttäjänimi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Käyttäjätunnus ei saa olla tyhjä, ja se saa sisältää vain merkkejä a-z, 0-9, ., _, =, - ja /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Takaisin</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Salasana</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Valitse turvallinen salasana. Tarkat vaatimukset salasanan vahvuudelle voivat riippua palvelimestasi.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Salasanan varmistus</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Nimi tälle laitteelle, joka näytetään muille laitteitasi vahvistaessa. Jos et syötä mitään, käytetään oletusarvoa.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Kotipalvelin</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>sinun.palvelimesi</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Palvelin, joka sallii rekisteröinnin. Koska matrix on hajautettu, sinun pitää ensin löytää palvelin jolle rekisteröityä tai ylläpitää omaasi.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Salasanasi eivät täsmää!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Laitteen nimi</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REKISTERÖIDY</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Palvelimen tietojen hakeminen epäonnistui: virheellinen vastaus.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Palvelimen tietojen hakeminen epäonnistui: tuntematon virhe hakiessa .well-known -tiedostoa.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Vaadittuja päätepisteitä ei löydetty. Mahdollisesti ei Matrix-palvelin.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Vastaanotettiin virheellinen vastaus. Varmista, että kotipalvelimen osoite on pätevä.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Tapahtui tuntematon virhe. Varmista, että kotipalvelimen osoite on pätevä.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>Valittu palvelin ei tue mitään tämän ohjelman tukemaa versiota Matrix-protokollasta (v.1.1:stä v.1.4:ään). Et voi rekisteröityä.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Palvelin ei tue rekisteröintimenetelmien kyselyä!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Palvelin ei tue rekisteröitymistä.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Epäkelpo käyttäjätunnus.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Nimi on jo käytössä.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Osa varattua nimiavaruutta.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Sulje</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Peruuta Muokkaus</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Peru viestiketju</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Tutki julkisia huoneita</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Etsi julkisia huoneita</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Valitse mukautettu kotipalvelin</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>ei tallennettua versiota</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Uusi tagi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Kirjoita tagi jota haluat käyttää:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Avaa erikseen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Huoneen asetukset</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Poistu huoneesta</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Kopioi huoneen linkki</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Aseta huoneelle tagi:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Suosikki</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Matala tärkeysjärjestys</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Palvelimen ilmoitus</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Luo uusi tagi…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Lisää tai poista yhteisöstä...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Tilapäivitys</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Kirjoita tilapäivityksesi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Profiilin asetukset</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Aseta tilapäivitys</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Kirjaudu ulos</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Salausta ei ole määritetty</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Varmistamaton sisäänkirjautuminen</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Varmista muut laitteesi</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Sulje</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Aloita uusi keskustelu</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Liity huoneeseen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Luo uusi huone</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Aloita suora keskustelu</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Luo uusi yhteisö</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Huonehakemisto</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Hae huoneita (CTRL+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Käyttäjäasetukset</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Huoneen %1 jäsenet</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n henkilö huoneessa %1</numerusform>
-            <numerusform>%n henkilöä huonessa %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Kutsu lisää käyttäjiä</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Etsi...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Lajitteluperuste: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>Käyttäjätunnus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Näyttönimi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Oikeustaso</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Ylläpitäjä: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Moderaattori: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Käyttäjä: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Tämä huone ei ole salattu!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Tämä käyttäjä on vahvistettu.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Tätä käyttäjää ei ole vahvistettu, mutta hän käyttää edelleen samaa päävavainta kuin ensimmäisellä tapaamiskerralla.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Tällä käyttäjällä on vahvistamattomia laitteita!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Huoneen asetukset</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Muuta huoneen avataria.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Muuta tämän huoneen nimeä</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n jäsen</numerusform>
-            <numerusform>%n jäsentä</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Näytä huoneen %1 jäsenet</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Aihetta ei ole asetettu</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Muuta tämän huoneen aihetta</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>ASETUKSET</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Ilmoitukset</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Mykistetty</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Vain maininnat</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Kaikki viestit</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Salaus</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Päästä-päähän-salaus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Salaus on kokeellinen ja asiat voivat rikkoutua odottamattomasti.&lt;br&gt;
-Huomaathan ettei sitä voida poistaa käytöstä myöhemmin.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Oikeudet</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Näytä ja muuta oikeuksia tässä huoneessa</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Näytä ja muuta tämän huoneen osoitteita ja aliaksia</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Tarra- ja emojiasetukset</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Muuta</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Piilotetut tapahtumat</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Määritä</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Kuka tahansa voi liittyä</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Salli koputtaminen</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Salli liittyminen muiden huoneiden kautta</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Huoneet, joiden kautta voi liittyä</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Muuta listaa huoneista, joiden kautta tähän huoneeseen voi liittyä. Se on yleensä tämän huoneen virallinen yhteisö.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Salli vieraiden liittyminen</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Saata pääsysäännöt voimaan</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Aliakset</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Muuta käytössä olevia paketteja, poista tai luo uusia paketteja</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Valitse huoneesta piilotettavat tapahtumat</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>TIETOA</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Sisäinen ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Kopioitu leikepöydälle</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Huoneen versio</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>näytä vähemmän</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>näytä enemmän</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Salauksen aktivointi epäonnistui: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Valitse profiilikuva</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Kaikki Tiedostot (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Valittu tiedosto ei ole kuva</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Virhe lukiessa tiedostoa: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Kuvan lähetys epäonnistui: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Vastausta odottava kutsu.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Esikatsellaan tätä huonetta</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Esikatselua ei saatavilla</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation>Osa varattua nimiavaruutta.</translation>
     </message>
 </context>
 <context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Syötä sisäänkirjautumisen salasanasi jatkaaksesi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Syötä oikea sähköposti-osoite jatkaaksesi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Syötä oikea puhelinnumero jatkaaksesi:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Syötä sinulle lähetetty tunnisteväline:</translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Odota vahvistuslinkin saapumista, sitten jatka.</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>ei tallennettua versiota</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Jaa työpöytä käyttäjän %1 kanssa?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Salauksen aktivointi epäonnistui: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Ikkuna:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Valitse profiilikuva</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Ruutunopeus:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Kaikki Tiedostot (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Sisällytä kamerasi kuva kuvassa -tilaan</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Valittu tiedosto ei ole kuva</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Pyydä etäkameraa</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Virhe lukiessa tiedostoa: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Näytä puhelun vastaanottajan kamera tavallisen videopuhelun tapaan</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Kuvan lähetys epäonnistui: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Piilota hiiren kursori</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Vastausta odottava kutsu.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Jaa</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Esikatsellaan tätä huonetta</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Esikatsele</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Esikatselua ei saatavilla</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Salattuun tallennustilaan ei saatu yhteyttä</translation>
     </message>
@@ -3242,62 +1236,10 @@ Huomaathan ettei sitä voida poistaa käytöstä myöhemmin.</translation>
         <translation>Nheko ei pystynyt yhdistämään salattuun tallennustilaan tallentamaan salaukseen kuuluvia salaisuuksia. Tämä voi johtua useasta syystä. Tarkista, onko D-Bus-palvelu käynnissä ja oletko määrittänyt alustallesi palvelun kuten KWallet, Gnome Keyring, KeePassXC tai vastaavan. Jos sinulla on ongelmia, voit luoda vikailmoituksen täällä: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Tämä on palautusavaimesi. Tarvitset sitä palauttaaksesi pääsysi salttuihin viesteihisi, sekä varmistusavaimiin. Pidä tämä turvassa. Älä jaa sitä kenellekään äläkä kadota sitä! Älä kulje lähtöruudun kautta! Et saa M̶ 200!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Salaus määritetty onnistuneesti</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Salauksen aktivointi epäonnistui: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Määritä salaus</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Hei ja tervetuloa Matriksiin!
-Vaikuttaa, että olet uusi. Ennen kuin voit turvallisesti salata viestisi, meidän täytyy säätää muutama pikku juttu. Voit joko suostua heti tai määrittää muutaman perusasetuksen. Yritämme selittää muutamat perusteista. Voit ohittaa nämä kohdat, mutta ne voivat osoittautua hyödyllisiksi!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Aktivoi salaus</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Olet ilmeisesti jo määrittänyt salauksen asetukset tälle käyttäjälle. Päästäksesi käsiksi salattuihin viesteihisi ja merkitäksesi tämän laitteen luotetuksi, voit joko vahvistaa sen olemassaolevalta laitteelta tai syöttää palauttamissalasanasi (jos sellainen on). Valitse yksi vaihtoehdoista alhaalla.
-Jos valitset vahvistamisen, toisen laitteen on oltava saatavilla. Jos valitset salasanan syöttämisen, tarvitset palauttamisavaimesi tai salasanasi. Jos perut, voit vahvistaa itsesi myöhemmin.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>vahvista</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>syötä salalause</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Ristiinvarmennusavainten luominen epäonnistui!</translation>
     </message>
@@ -3330,19 +1272,19 @@ Jos valitset vahvistamisen, toisen laitteen on oltava saatavilla. Jos valitset s
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Kuvapakkausta %1 ei onnistuttu päivittämään</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Vanhaa kuvapakkausta %1 ei onnistuttu poistamaan</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Kuvaa %1 ei onnistuttu avaamaan</translation>
     </message>
@@ -3353,97 +1295,10 @@ Jos valitset vahvistamisen, toisen laitteen on oltava saatavilla. Jos valitset s
         <translation>Kuvan lähetys epäonnistui: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Lisää tai poista yhteisöstä</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Tämän huoneen virallinen yhteisö</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Tähän huoneeseen liittyvä yhteisö</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Listattu vain yhteisön jäsenille</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Listattu vain huoneen jäsenille</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Ei-liittyvä</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Aliyhteisöt</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Epäonnnistui</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Lähetetty</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Vastaanotettu</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Luettu</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Hae</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Onnistunut varmistus</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Varmistus onnistui! Molemmat osapuolet vahvistivat laitteensa!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Sulje</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Viestin muokkaus epäonnistui: %1</translation>
@@ -3475,7 +1330,7 @@ Jos valitset vahvistamisen, toisen laitteen on oltava saatavilla. Jos valitset s
         <translation>Tallenna tiedosto</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3755,257 +1610,100 @@ Syy: %4</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation>%2 poisti käyttäjän %1 porttikiellon.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 hylkäsi käyttäjän %1 koputuksen.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 muutti avatariaan.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 muutti joitain tietoja profiilistaan.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 liittyi.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 liittyi käyttäjän %2 palvelimen suomalla vahvistuksella.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 hylkäsi kutsunsa.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 poistui huoneesta.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Syy: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 perui koputuksensa.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Liityit tähän huoneeseen.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 teki tämän huoneen vaatimaan kutsun liittymiseen.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 kutsui käyttäjän %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 vaihtoi avatariaan ja vaihtoi näyttönimekseen %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 vaihtoi näyttönimekseen %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 lähti vaikka lähti jo aiemmin!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 antoi porttikiellon käyttäjälle %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 koputti.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Muokattu</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Osa viestiketjua</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Yhtäkään huonetta ei ole avattu</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Esikatselu ei saatavilla</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Asetukset</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n jäsen</numerusform>
-            <numerusform>%n jäsentä</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Näytä huoneen %1 jäsenet</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>liity keskusteluun</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>hyväksy kutsu</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>kieltäydy kutsusta</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Piilota kutsun syy</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Näytä kutsun syy</translation>
+        <source>%2 unbanned %1.</source>
+        <translation>%2 poisti käyttäjän %1 porttikiellon.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Takaisin huonelistaan</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 hylkäsi käyttäjän %1 koputuksen.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Takaisin huonelistaan</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 muutti avatariaan.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Ei valittua huonetta</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 muutti joitain tietoja profiilistaan.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>Osa yhteisöä %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 liittyi.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Näytä huoneen jäsenet.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 liittyi käyttäjän %2 palvelimen suomalla vahvistuksella.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Tämä huone sisältää vain vahvistettuja laitteita.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 hylkäsi kutsunsa.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Tämä huone sisältää vahvistettuja laitteita ja laitteita, jotka eivät ole koskaan vaihtaneet pääavainta.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 poistui huoneesta.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Tämä huone sisältää varmentamattomia laitteita!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Syy: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Näytä tai piilota kiinnitetyt viestit</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 perui koputuksensa.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Etsi tästä huoneesta</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Liityit tähän huoneeseen.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Huoneen asetukset</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 teki tämän huoneen vaatimaan kutsun liittymiseen.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Kutsu käyttäjiä</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 kutsui käyttäjän %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Jäsenet</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 vaihtoi avatariaan ja vaihtoi näyttönimekseen %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Poistu huoneesta</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 vaihtoi näyttönimekseen %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Asetukset</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 lähti vaikka lähti jo aiemmin!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Poista kiinnitys</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 antoi porttikiellon käyttäjälle %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Syötä hakutermi</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 koputti.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Näytä</translation>
     </message>
@@ -4018,13 +1716,13 @@ Syy: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Rekisteröitymistapoja ei ole saatavilla!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Rekisteröinti keskeytetty</translation>
@@ -4040,112 +1738,10 @@ Syy: %4</translation>
         <translation>Virheellinen tunnisteväline</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Lähetä tiedosto</numerusform>
-            <numerusform>Lähetä %n tiedostoa</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Yleinen käyttäjäprofiili</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Huoneen käyttäjäprofiili</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Vaihda avataria kaikkialla.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Muuta avataria. Koskee vain tätä huonetta.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Muuta näyttönimeä kaikkialla.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Muuta näyttönimeä. Koskee vain tätä huonetta.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Huone: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Tämä on huoneelle erityinen profiili. Käyttäjän nimi ja avatar voivat erota niiden kaikkialla käytössä olevista versioista.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Avaa tämän käyttäjän yleinen profiili.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Vahvista</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Aloita yksityinen keskustelu.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Potki käyttäjä.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Anna käyttäjälle porttikielto.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Päivitä laitelista.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Kirjaudu ulos tältä laitteelta.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Muuta laitteen nimeä.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Nähty viimeksi %1 osoitteesta %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Peru vahvistus</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Kirjaudu ulos laitteelta %1</translation>
     </message>
@@ -4178,8 +1774,8 @@ Syy: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Oletus</translation>
     </message>
@@ -4187,7 +1783,7 @@ Syy: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Teema</translation>
     </message>
@@ -4256,6 +1852,11 @@ Syy: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Lajittele huoneet lukemattomien mukaan</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4517,12 +2118,22 @@ Syy: %4</translation>
         <translation>Paljasta huonetiedot D-Bus:in kautta</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Oletus</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Aseta ilmoitusääni puhelukutsujen saapumiselle</translation>
     </message>
@@ -4595,7 +2206,21 @@ This will also enable or disable sending typing notifications to others.</source
 Tämä myös sallii tai evää kirjoitusilmoitusten lähettämisen muille.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Näytä painikkeet vastataksesi nopeasti, reagoidaksesi tai päästäksesi lisätoimintoihin joka viestin vieressä.</translation>
     </message>
@@ -4649,17 +2274,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Tämä yleensä saa sovelluksen kuvakkeen liikkumaan jollain tapaa tehtäväpalkissa.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Yhteisösivupalkki</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Näytä yhteisöjen ja tagien viestimäärät</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Aseta viestien maksimileveys aikajanalla (pikseleinä). Voi auttaa luettavuudessa, kun Nheko on suurennettuna</translation>
     </message>
@@ -4669,16 +2294,7 @@ Tämä yleensä saa sovelluksen kuvakkeen liikkumaan jollain tapaa tehtäväpalk
         <translation>Näytä yhteisöt ja tagit sisältävä sarake huonelistan vieressä.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Näytä ensin huoneet, joissa on uusia viestejä.
-Jos tämä on pois päältä, huonelista lajitellaan pelkästään huoneiden viimeisimmän viestin aikaleiman perusteella.
-Jos tämä on päällä, huoneet joissa on voimassa olevia ilmoituksia (pieni ympyrä, jossa numero sisällä) lajitellaan päällimmäisiksi. Mykistämäsi huoneet lajitellaan silti aikaleiman perusteella, koska et ilmeisesti pidä niitä yhtä tärkeinä.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4769,7 +2385,17 @@ This setting will take effect upon restart.</source>
 Tämä asetus tulee voimaan uudelleenkäynnistyksen jälkeen.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Valitse tiedosto</translation>
     </message>
@@ -4779,7 +2405,7 @@ Tämä asetus tulee voimaan uudelleenkäynnistyksen jälkeen.</translation>
         <translation>Kaikki Tiedostot (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Avaa Istuntoavaintiedosto</translation>
     </message>
@@ -4821,117 +2447,18 @@ Tämä asetus tulee voimaan uudelleenkäynnistyksen jälkeen.</translation>
         <translation>Tiedosto, johon viedyt istuntoavaimet tallennetaan</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>PYYDÄ</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>LATAA</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>VÄLIMUISTISSA</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>EI VÄLIMUISTISSA</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Takaisin</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>TUO</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>VIE</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Salattua keskustelua ei löydetty tälle käyttäjälle. Luo salattu yksityiskeskustelu tämän käyttäjän kanssa ja yritä uudestaan.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Odotetaan toista osapuolta…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Odotetaan toista osapuolta hyväksymään vahvistuspyyntö.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Odotetaan toista puolta jatkamaan vahvistusta.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Odotetaan toista puolta saamaan vahvistus valmiiksi.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Tervetuloa Nhekoon! Työpöytäsovellus Matrix-protokollalle.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Nauti vierailustasi!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REKISTERÖIDY</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>KIRJAUDU</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Vähennä animaatioita</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko käyttää animaatioita useissa paikoissa tehden asioista nättejä. Tämä asetus sallii niiden poistamisen käytöstä jos ne aiheuttavat huonovointisuutta.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Eilen</translation>
     </message>
@@ -4939,7 +2466,7 @@ Tämä asetus tulee voimaan uudelleenkäynnistyksen jälkeen.</translation>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Avaa varajärjestely selaimessa</translation>
     </message>
@@ -4960,32 +2487,52 @@ Tämä asetus tulee voimaan uudelleenkäynnistyksen jälkeen.</translation>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Avaa reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Ihmiset</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Peruuta</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Luonto</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Vahvista</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Ruoka</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Ratkaise reCAPTCHA ja paina varmista-nappia</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktiviteetti</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Matkustaminen</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Esineet</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Symbolit</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Liput</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Lähetit äänileikkeen</translation>
     </message>
@@ -5046,24 +2593,24 @@ Tämä asetus tulee voimaan uudelleenkäynnistyksen jälkeen.</translation>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Sinä: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_fr.ts b/resources/langs/nheko_fr.ts
index 69820a0a1515d536e684e7d07370e253b4613ac4..67ba26f1a6eafa7b85bf68952fc2038a98510e4b 100644
--- a/resources/langs/nheko_fr.ts
+++ b/resources/langs/nheko_fr.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="fr">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Appel en cours…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Connexion en cours…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Vous êtes en train de partager votre écran.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Cacher/Montrer l&apos;incrustation vidéo</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Ne plus couper le micro</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Couper le micro</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Impossible de mettre à jour les alias&#xa0;: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Alias de %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Liste des alias de ce salon. Habituellement, vous ne pouvez ajouter des alias que sur votre serveur. Vous pouvez avoir un alias principal et de nombreux autres alternatifs.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Alias principal</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Rendre l&apos;alias principal</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Publier l&apos;alias dans ce salon</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Publier dans l&apos;annuaire des salons</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Retirer cet alias</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#nouvel-alias:serveur.domaine</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Ajouter</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Configuration des salons autorisés</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Liste des salons autorisant l&apos;accès à ce salon. Tout membre d&apos;un de ces salons peut rejoindre celui-ci.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Communauté parente</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Autre salon</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Entrez d&apos;autres salons qui ne sont pas encore dans la liste…</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 et %n autre</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Salon vide</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Appel vidéo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Appel audio</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Aucun microphone trouvé.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Appel vidéo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Appel vocal</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Appareils</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Décrocher</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Microphone inconnu&#xa0;: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Caméra inconnue&#xa0;: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Rejeter</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Aucun microphone trouvé.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Tout l&apos;écran</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Échec lors de l&apos;invitation de %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Utilisateur %1 invité(e)</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Confirmer la déconnexion</translation>
     </message>
@@ -237,9 +85,9 @@
         <translation>Le cache sur votre disque a été créé avec une version de Nheko plus récente que la vôtre. Veuillez mettre Nheko à jour ou vider votre cache.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
-        <translation>Impossible d&apos;ouvrir la base de données, déconnexion !</translation>
+        <translation>Impossible d&apos;ouvrir la base de données, déconnexion&#x202f;!</translation>
     </message>
     <message>
         <location line="+262"/>
@@ -268,14 +116,14 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Confirmer l&apos;invitation</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
-        <translation>Voulez-vous vraiment inviter %1 (%2) ?</translation>
+        <translation>Voulez-vous vraiment inviter %1 (%2)&#x202f;?</translation>
     </message>
     <message>
         <location line="+12"/>
@@ -305,7 +153,7 @@
     <message>
         <location line="+1"/>
         <source>Do you really want to unban %1 (%2)?</source>
-        <translation>Voulez-vous vraiment annuler le bannissement de %1 (%2) ?</translation>
+        <translation>Voulez-vous vraiment annuler le bannissement de %1 (%2)&#x202f;?</translation>
     </message>
     <message>
         <location line="+10"/>
@@ -318,14 +166,14 @@
         <translation>%1 n&apos;est plus banni(e)</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Voulez-vous vraiment commencer une discussion privée avec %1 ?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
-        <translation>Échec de la migration du cache !</translation>
+        <translation>Échec de la migration du cache&#x202f;!</translation>
     </message>
     <message>
         <location line="-87"/>
@@ -347,7 +195,7 @@ Si vous pensez qu&apos;il s&apos;agit d&apos;une erreur, vous pouvez plutôt fer
         <translation>Version du cache incompatible</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Échec de la restauration du compte OLM. Veuillez vous reconnecter.</translation>
     </message>
@@ -373,7 +221,7 @@ Si vous pensez qu&apos;il s&apos;agit d&apos;une erreur, vous pouvez plutôt fer
         <location line="+34"/>
         <source>You failed to join %1. You can try to knock so that others can invite you in. Do you want to do so?
 You may optionally provide a reason for others to accept your knock:</source>
-        <translation>Vous n&apos;avez pas pu rejoindre %1. Vous pouvez essayer de frapper au salon afin que les autres membres vous invitent. Voulez-vous le faire ?
+        <translation>Vous n&apos;avez pas pu rejoindre %1. Vous pouvez essayer de frapper au salon afin que les autres membres vous invitent. Voulez-vous le faire&#x202f;?
 Vous pouvez éventuellement fournir une raison afin que les membres acceptent votre requête&#xa0;:</translation>
     </message>
     <message>
@@ -384,7 +232,7 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
     <message>
         <location line="+9"/>
         <source>Failed to remove invite: %1</source>
-        <translation>Impossible de supprimer l&apos;invitation : %1</translation>
+        <translation>Impossible de supprimer l&apos;invitation&#x202f;: %1</translation>
     </message>
     <message>
         <location line="+27"/>
@@ -409,7 +257,7 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
     <message>
         <location line="+15"/>
         <source>Failed to kick %1 from %2: %3</source>
-        <translation>Échec de l&apos;expulsion de %1 de %2  : %3</translation>
+        <translation>Échec de l&apos;expulsion de %1 de %2&#x202f;&#x202f;: %3</translation>
     </message>
     <message>
         <location line="+13"/>
@@ -421,16 +269,11 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Saisissez un motif pour bannir %1 (%2) ou appuyez sur entrée pour ne pas mettre de motif&#xa0;:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Pas de connexion réseau</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;message&gt;</translation>
     </message>
@@ -541,6 +384,16 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -682,47 +535,34 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Ne pas afficher le compteur de notifications pour cette communauté ou cette étiquette.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Cache par défaut les salons avec cette étiquette ou provenant de cette communauté.</translation>
-    </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Développer</translation>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Réduire</translation>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Tous les salons</translation>
     </message>
@@ -772,7 +612,7 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
         <translation>Messages de votre serveur ou administrateur.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Erreur lors de la mise à jour de cette communauté&#xa0;: %1</translation>
     </message>
@@ -793,2515 +633,625 @@ Vous pouvez éventuellement fournir une raison afin que les membres acceptent vo
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Déchiffrer les secrets</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Entrez votre clé de récupération ou phrase de passe pour déchiffrer vos secrets&#xa0;:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n membre</numerusform>
-            <numerusform>%n membres</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Entrez votre clé de récupération ou votre phrase de passe nommée %1 pour déchiffrer vos secrets&#xa0;:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Échec du déchiffrement</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Échec du déchiffrement des secrets avec la clé de récupération ou phrase de passe fournie</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Impossible de modifier les évènements cachés : %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Créer une conversation privée</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Impossible de modifier les évènements cachés : %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Utilisateur à inviter</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Tous les types de fichiers (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@utilisateur:serveur.tld</translation>
+        <location line="+0"/>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Chiffrement</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Créer un salon</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Vous avez entré un identifiant Matrix invalide  exemple correct&#x202f;: @moi:monserveur.example.com)</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Nom</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Échec de la découverte automatique. Réponse mal formée reçue.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Échec de la découverte automatique. Erreur inconnue lors de la demande de .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Les endpoints requis n&apos;ont pas été trouvés. Ce n&apos;est peut-être pas un serveur Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Sans nom</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Réponse mal formée reçue. Vérifiez que le nom de domaine du serveur est valide.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Sujet</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Une erreur inconnue est survenue. Vérifiez que le nom de domaine du serveur est valide.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Sans sujet</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Se connecter avec Apple</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Public</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Continuer avec Facebook</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Connexion avec Google</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Vérifié</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Connexion avec Twitter</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Les utilisateurs invités auront les mêmes permissions que le créateur</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Connexion avec %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Chiffrement</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>CONNEXION SSO</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Attention, le chiffrement ne peut pas être désactivé</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Mot de passe vide</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Déchiffrer les secrets</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Échec de la connexion SSO</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Entrez votre clé de récupération ou phrase de passe pour déchiffrer vos secrets&#xa0;:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Échec de l&apos;envoi du média. Veuillez réessayer.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Entrez votre clé de récupération ou votre phrase de passe nommée %1 pour déchiffrer vos secrets&#xa0;:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 a envoyé un message chiffré</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Échec du déchiffrement</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 a répondu : %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Échec du déchiffrement des secrets avec la clé de récupération ou phrase de passe fournie</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 a répondu avec un message chiffré</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Code de vérification</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 a répondu à un message</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Veuillez vérifier les chiffres suivants. Vous devriez voir les mêmes chiffres des deux côtés. Si ceux-ci diffèrent, veuillez choisir « Ils sont différents ! » pour annuler la vérification !</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 a envoyé un message</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Ils sont différents !</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ils sont identiques !</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Chercher</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Personnes</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Nature</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Nourriture</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Activités</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Voyage</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objets</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symboles</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Drapeaux</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Code de vérification</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Veuillez vérifier les émoji suivants. Vous devriez voir les mêmes émoji des deux côtés. S&apos;ils diffèrent, veuillez choisir « Ils sont différents ! » pour annuler la vérification !</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Ils sont différents !</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ils sont identiques !</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Il n&apos;y a pas de clé pour déverrouiller ce message. Nous avons demandé la clé automatiquement, mais vous pouvez tenter de la demander à nouveau si vous êtes impatient.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Ce message n&apos;a pas pu être déchiffré, car nous n&apos;avons une clef que pour des messages plus récents. Vous pouvez demander l&apos;accès à ce message.</translation>
+        <source>Send messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Une erreur interne s&apos;est produite durant la lecture de la clef de déchiffrement depuis la base de données.</translation>
+        <source>Change the room name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Une erreur s&apos;est produite durant le déchiffrement de ce message.</translation>
+        <source>Change the room permissions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Le message n&apos;a pas pu être traité.</translation>
+        <source>Change the rooms topic</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>La clef de chiffrement a été réutilisée ! Quelqu&apos;un essaye peut-être d&apos;insérer de faux messages dans ce chat !</translation>
+        <source>Change the widgets</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Erreur de déchiffrement inconnue</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Demander la clef</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Ce message n&apos;est pas chiffré !</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Chiffré par un appareil vérifié</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Chiffré par un appareil non vérifié, mais vous avez déjà fait confiance à ce contact.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Chiffré par un appareil non vérifié, ou la clef provient d&apos;une source non sûre comme la sauvegarde des clefs.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Échec de la vérification</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>L&apos;autre client ne supporte pas notre protocole de vérification.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Clés non correspondantes détectées !</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Délai dépassé pour la vérification de l&apos;appareil.</translation>
+        <source>Negotiate a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Le correspondant a annulé la vérification.</translation>
+        <source>Answer a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Messages de vérification reçus dans le désordre !</translation>
+        <source>Hang up a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Erreur de vérification inconnue.</translation>
+        <source>Reject a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Fermer</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Transférer le message</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Impossible de modifier les évènements cachés : %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Évènements cachés pour %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profil</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Évènements cachés</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>nom du profil</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Ces évènements seront &lt;b&gt;affichés&lt;/b&gt; dans %1 :</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Ces évènements seront &lt;b&gt;affichés&lt;/b&gt; dans tous les salons :</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Évènements utilisateur</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Arrivées, départs, changements d&apos;avatar et de nom, bannissements, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Changements de niveau de puissance</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Envoyés quand un modérateur est ajouté/supprimé ou les permissions d&apos;un salon ont changé.</translation>
+        <source>Send</source>
+        <translation type="unfinished">Envoyer</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Autocollants</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">Écrivez un message…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Modification du paquet d&apos;images</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Hier, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Ajouter des images</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Échec de la découverte automatique. Réponse mal formée reçue.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Images (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Échec de la découverte automatique. Erreur inconnue lors de la demande de .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Sélectionner des images pour le paquet</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Les endpoints requis n&apos;ont pas été trouvés. Ce n&apos;est peut-être pas un serveur Matrix.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Ajouter au paquet</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Réponse mal formée reçue. Vérifiez que le nom de domaine du serveur est valide.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Changer l&apos;image d&apos;aperçu pour le paquet</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Une erreur inconnue est survenue. Vérifiez que le nom de domaine du serveur est valide.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Image d&apos;aperçu (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Sélectionner l&apos;image d&apos;aperçu pour le paquet</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Le serveur ne supporte pas d&apos;interroger les méthodes d&apos;enregistrement !</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Clef d&apos;état</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Le serveur ne supporte pas l&apos;enregistrement.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Nom de paquet</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Nom d&apos;utilisateur invalide.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Attribution</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Nom déjà utilisé.</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Utiliser en tant qu&apos;émoji</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Utiliser en tant qu&apos;autocollant</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Raccourci</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Corps</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Retirer du paquet</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Retirer</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Paramètres des paquets d&apos;images</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Créer un paquet de compte</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Nouveau paquet de salle</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Paquet privé</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Paquet de cette salle</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Paquet activé partout</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Activer partout</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Permet d&apos;utiliser ce paquet dans tous les salons</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Modifier</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Fermer</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Tous les types de fichiers (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Inviter des utilisateurs dans %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@jean:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Inviter</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Rejoindre le salon</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Identifiant ou alias du salon</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Quitter le salon</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Voulez-vous vraiment quitter ?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Identifiant Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>p. ex : @jean:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Mot de passe</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Votre mot de passe.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nom de l&apos;appareil</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Adresse du serveur</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>monserveur.example.com:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>CONNEXION</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Retour</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Vous avez entré un identifiant Matrix invalide  exemple correct : @moi:monserveur.example.com)</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Échec de la découverte automatique. Réponse mal formée reçue.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Échec de la découverte automatique. Erreur inconnue lors de la demande de .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Les endpoints requis n&apos;ont pas été trouvés. Ce n&apos;est peut-être pas un serveur Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Réponse mal formée reçue. Vérifiez que le nom de domaine du serveur est valide.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Une erreur inconnue est survenue. Vérifiez que le nom de domaine du serveur est valide.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Se connecter avec Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Continuer avec Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Connexion avec Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Connexion avec Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Connexion avec %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>CONNEXION SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Mot de passe vide</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Échec de la connexion SSO</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Se déconnecter</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Un appel est en cours. Se déconnecter ?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Êtes-vous certain de vouloir vous déconnecter ?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Échec de l&apos;envoi du média. Veuillez réessayer.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 a effacé un message</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 a changé le nom du salon en : %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 a supprimé le nom du salon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 a changé le sujet du salon en : %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 a supprimé le sujet du salon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 a changé l&apos;avatar du salon</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 a changé les messages épinglés.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 a changé les adresses pour ce salon.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 a créé et configuré le salon&#xa0;: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 a effectué un appel vocal.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 a effectué un appel vidéo.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 a appelé.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 a répondu à l&apos;appel.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 a terminé l&apos;appel.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 est en train de négocier l&apos;appel...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Les laisser entrer</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Raccrocher</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Appeler</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Envoyer un fichier</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Écrivez un message…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Autocollants</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Émoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Envoyer</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Vous n&apos;avez pas l&apos;autorisation d&apos;envoyer des messages dans ce salon</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Modifier</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Réagir</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Répondre</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Options</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Raison de la suppression</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Entrez la raison de la suppression, ou appuyez sur entrée pour l&apos;omettre :</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copier</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Copier l&apos;adresse du &amp;lien</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Ré&amp;agir</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>&amp;Y répondre</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Editer</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Désé&amp;pingler</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>É&amp;pingler</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Faire suivre</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Marquer comme lu</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Voir le message brut</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Voir le message déchiffré brut</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Enle&amp;ver le message</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>Enregistrer &amp;sous</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Ouvrir dans un programme externe</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Copier le lien vers l&apos;évène&amp;nement</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>Aller au messa&amp;ge cité</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Envoyer la demande de vérification</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Demande de vérification reçue</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Pour vous assurer que personne ne puisse intercepter vos communications chiffrées, vous pouvez vérifier le correspondant.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 a demandé à vérifier leur appareil %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 a utilisé l&apos;appareil %2 pour demander à être vérifié.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Votre appareil (%1) a demandé à être vérifié.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Refuser</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Démarrer la vérification</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Accepter</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Vous allez envoyer une notification à tous les membres du salon</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 a envoyé un message chiffré</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 a répondu : %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 a répondu avec un message chiffré</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 a répondu à un message</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 a envoyé un message</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Appeler %1 ?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Pas de microphone trouvé.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Vocal</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Vidéo</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Écran</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>Évènement non implémenté&#xa0;: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished">Ajouter</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>nom du profil</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Envoyer</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Écrivez un message…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Accusés de lecture</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Hier, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nom d&apos;utilisateur</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Le nom d&apos;utilisateur ne doit pas être vide, et ne peut contenir que les caractères a-z, 0-9, ., _, =, -, et /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Retour</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Mot de passe</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Veuillez choisir un mot de passe fort. Les demandes exactes sur la robustesse du mot de passe peuvent dépendre de votre serveur.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Confirmation du mot de passe</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Serveur</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>votre.serveur.example.com</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Un serveur qui autorise les créations de compte. Matrix étant décentralisé, vous devez tout d&apos;abord trouver un serveur sur lequel vous pouvez vous inscrire, ou bien héberger le vôtre.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Vos mots de passe ne correspondent pas !</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nom de l&apos;appareil</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>S&apos;ENREGISTRER</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Échec de la découverte automatique. Réponse mal formée reçue.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Échec de la découverte automatique. Erreur inconnue lors de la demande de .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Les endpoints requis n&apos;ont pas été trouvés. Ce n&apos;est peut-être pas un serveur Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Réponse mal formée reçue. Vérifiez que le nom de domaine du serveur est valide.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Une erreur inconnue est survenue. Vérifiez que le nom de domaine du serveur est valide.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Le serveur ne supporte pas d&apos;interroger les méthodes d&apos;enregistrement !</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Le serveur ne supporte pas l&apos;enregistrement.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Nom d&apos;utilisateur invalide.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Nom déjà utilisé.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Fait partie de l&apos;espace de noms réservé.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Fermer</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Annuler les modifications</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Explorer les salons publics</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Rechercher des salons publics</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Choisir un serveur personnalisé</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>pas de version enregistrée</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Nouvelle étiquette</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Entrez l&apos;étiquette que vous voulez utiliser :</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Quitter le salon</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Étiqueter le salon comme&#xa0;:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favori</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Priorité basse</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Notification du serveur</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Créer une nouvelle étiquette…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Message de statut</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Entrez votre message de statut :</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Paramètres de profil</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Changer le message de statut</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Déconnexion</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Chiffrement non configuré</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Appareil non vérifié</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Veuillez vérifier vos autres appareils</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Fermer</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Commencer une nouvelle discussion</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Rejoindre un salon</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Créer un nouveau salon</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Annuaire des salons</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Rechercher un salon (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Paramètres utilisateur</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation>Fait partie de l&apos;espace de noms réservé.</translation>
     </message>
 </context>
 <context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Membres de %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n personne dans %1</numerusform>
-            <numerusform>%n personnes dans %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Inviter plus de personnes</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished">Identifiant de l&apos;utilisateur</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Ce salon n&apos;est pas chiffré !</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Cet utilisateur est vérifié.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Cet utilisateur n&apos;est pas vérifié, mais utilise toujours la même clef maîtresse que la première fois que vous vous êtes rencontrés.</translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Cet utilisateur a des appareils non vérifiés !</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>pas de version enregistrée</translation>
     </message>
 </context>
 <context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Configuration du salon</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n membre</numerusform>
-            <numerusform>%n membres</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>CONFIGURATION</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Notifications</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>En sourdine</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Seulement les mentions</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Tous les messages</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Chiffrement</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Chiffrement bout-à-bout</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Le chiffrement est expérimental pour le moment, à vos risques et périls. &lt;br&gt;
-Veuillez noter qu&apos;il ne pourra plus être désactivé par la suite.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Paramètres des autocollants &amp; emotes</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Modifier</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Évènements cachés</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Configurer</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Sélectionner les évènements à cacher dans ce salon</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Identifiant interne</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Copié dans le presse-papiers</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Version du salon</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>montrer moins</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>montrer plus</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
         <source>Failed to enable encryption: %1</source>
-        <translation>Échec de l&apos;activation du chiffrement&#xa0;: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Sélectionner un avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Tous les types de fichiers (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Le fichier sélectionné n&apos;est pas une image</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Erreur lors de la lecture du fichier&#xa0;: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Échec de l&apos;envoi de l&apos;image&#xa0;: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Invitation en attente.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Prévisualisation du salon</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Aucune prévisualisation disponible</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Veuillez saisir votre mot de passe pour continuer&#xa0;:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Veuillez saisir un courriel valide pour continuer&#xa0;:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Veuillez saisir un numéro de téléphone valide pour continuer&#xa0;:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Attendez que le lien de confirmation vous parvienne, puis continuez.</translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Partager le bureau avec %1  ?</translation>
+        <translation>Échec de l&apos;activation du chiffrement&#xa0;: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Fenêtre :</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Sélectionner un avatar</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Fréquence d&apos;images :</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Tous les types de fichiers (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Incruster votre caméra dans la vidéo</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Le fichier sélectionné n&apos;est pas une image</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Demander la caméra distante</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Erreur lors de la lecture du fichier&#xa0;: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Voir la caméra de votre destinataire comme pour un appel vidéo standard</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Échec de l&apos;envoi de l&apos;image&#xa0;: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Cacher le pointeur de la souris</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Invitation en attente.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Partager</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Prévisualisation du salon</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Prévisualiser</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Aucune prévisualisation disponible</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Échec de la connexion au stockage des secrets</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation>Nheko n&apos;a pas pu se connecter au stockage sécurisé afin d&apos;y sauvegarder les clés de chiffrement. Cela peut avoir différentes causes. Vérifiez si votre service D-Bus est lancé, et si vous avez configuré un service tel que KWallet ; Gnome Keyring ; KeePassXC ou l&apos;équivalent pour votre système. Si vous n&apos;arrivez pas à résoudre le problème, n&apos;hésitez pas à nous en faire part ici : https ://github.com/Nheko-Reborn/nheko/issues</translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Ceci est votre clé de récupération. Vous en aurez besoin afin de restaurer l&apos;accès à vos messages chiffrés et à vos clés de vérification. Gardez cette clé en sûreté. Ne la partagez pas avec qui que ce soit et ne la perdez pas ! Ne passez pas par la case départ et ne recevez pas 20 000 francs !</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Chiffrement configuré avec succès</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Échec de la configuration du chiffrement&#xa0;: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Configuration du chiffrement</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Bonjour et bienvenue sur le réseau Matrix !
-Il semblerait que ce soit votre première fois ici. Avant de pouvoir chiffrer vos messages de manière sécurisée, nous devons configurer quelques détails. Vous pouvez soit accepter immédiatement, soit ajuster quelques options basiques. Nous essayons également d&apos;expliquer le fonctionnement de certains mécanismes. Vous pouvez sauter ces étapes, mais celles-ci pourraient se montrer utiles par la suite !</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Activer le chiffrement</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Il semblerait que le chiffrement soit déjà configuré pour ce compte. Afin de pouvoir accéder à vos messages chiffrer et confirmer que cet appareil vous appartient, vous pouvez soit le vérifier à l&apos;aide d&apos;un appareil déjà vérifié, ou (si vous en disposez) entrer votre mot de passe ou clé de récupération. Veuillez sélectionner l&apos;une des options ci-dessous.
-Si vous choisissez de vérifier, vous aurez besoin de l&apos;autre appareil. Si vous choisissez &quot;entrer le mot de passe&quot;, vous aurez besoin de votre clé ou mot de passe de récupération. Si vous annulez maintenant, vous pourrez vérifier cet appareil vous-même plus tard.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>Vérifier</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>Entrer le mot de passe de récupération</translation>
+        <translation>Nheko n&apos;a pas pu se connecter au stockage sécurisé afin d&apos;y sauvegarder les clés de chiffrement. Cela peut avoir différentes causes. Vérifiez si votre service D-Bus est lancé, et si vous avez configuré un service tel que KWallet&#x202f;; Gnome Keyring&#x202f;; KeePassXC ou l&apos;équivalent pour votre système. Si vous n&apos;arrivez pas à résoudre le problème, n&apos;hésitez pas à nous en faire part ici&#x202f;: https&#x202f;://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
-        <translation>Échec de la création des clés pour l&apos;auto-vérification (cross-signing) !</translation>
+        <translation>Échec de la création des clés pour l&apos;auto-vérification (cross-signing)&#x202f;!</translation>
     </message>
     <message>
         <location line="+16"/>
         <source>Failed to create keys for online key backup!</source>
-        <translation>Échec de la création de clés pour la sauvegarde en ligne !</translation>
+        <translation>Échec de la création de clés pour la sauvegarde en ligne&#x202f;!</translation>
     </message>
     <message>
         <location line="+29"/>
         <source>Failed to create keys for secure server side secret storage!</source>
-        <translation>Échec de la création des clés pour le stockage sécurisé côté serveur !</translation>
+        <translation>Échec de la création des clés pour le stockage sécurisé côté serveur&#x202f;!</translation>
     </message>
     <message>
         <location line="+44"/>
@@ -3311,7 +1261,7 @@ Si vous choisissez de vérifier, vous aurez besoin de l&apos;autre appareil. Si
     <message>
         <location line="+6"/>
         <source>Encryption setup failed: %1</source>
-        <translation>Échec de la configuration du chiffrement : %1</translation>
+        <translation>Échec de la configuration du chiffrement&#x202f;: %1</translation>
     </message>
     <message>
         <location line="+156"/>
@@ -3322,19 +1272,19 @@ Si vous choisissez de vérifier, vous aurez besoin de l&apos;autre appareil. Si
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Échec de la mise à jour du paquet d&apos;images : %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Échec de l&apos;effacement de l&apos;ancien paquet d&apos;images : %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Échec de l&apos;ouverture de l&apos;image : %1</translation>
     </message>
@@ -3345,97 +1295,10 @@ Si vous choisissez de vérifier, vous aurez besoin de l&apos;autre appareil. Si
         <translation>Échec de l&apos;envoi de l&apos;image : %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Échec</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Envoyé</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Reçu</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Lu</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Rechercher</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Vérification réussie</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Vérification réussie !  Les deux côtés ont vérifié leur appareil !</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Fermer</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Échec de la suppression du message&#xa0;: %1</translation>
@@ -3444,7 +1307,7 @@ Si vous choisissez de vérifier, vous aurez besoin de l&apos;autre appareil. Si
         <location line="+115"/>
         <location line="+5"/>
         <source>Failed to encrypt event, sending aborted!</source>
-        <translation>Échec du chiffrement de l&apos;évènement, envoi abandonné !</translation>
+        <translation>Échec du chiffrement de l&apos;évènement, envoi abandonné&#x202f;!</translation>
     </message>
     <message>
         <location line="+196"/>
@@ -3467,7 +1330,7 @@ Si vous choisissez de vérifier, vous aurez besoin de l&apos;autre appareil. Si
         <translation>Enregistrer le fichier</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3753,251 +1616,94 @@ Raison : %4</translation>
     <message>
         <location line="+5"/>
         <source>%2 rejected the knock from %1.</source>
-        <translation>%2 a rejeté le &quot;toc-toc&quot; de %1.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 a changé son avatar.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 a changé des informations de profil.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 a rejoint le salon.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 a rejoint via une autorisation de la part du serveur de %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 a rejeté son invitation.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 a quitté le salon.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Raison : %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 a arrêté de toquer.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Vous avez rejoint ce salon.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 a invité %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 a changé son avatar et changé son surnom en %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 a changé son surnom en %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 a quitté le salon après l&apos;avoir déjà quitté !</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 a banni %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 a toqué.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Modifié</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Aucun salon ouvert</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Aucune prévisualisation disponible</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Paramètres</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform>%n membre</numerusform>
-            <numerusform>%n membres</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>rejoindre la conversation</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>accepter l&apos;invitation</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>décliner l&apos;invitation</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
+        <translation>%2 a rejeté le &quot;toc-toc&quot; de %1.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Revenir à la liste des salons</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 a changé son avatar.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Revenir à la liste des salons</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 a changé des informations de profil.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Pas de salon sélectionné</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 a rejoint le salon.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 a rejoint via une autorisation de la part du serveur de %2.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 a rejeté son invitation.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Ce salon ne contient que des appareils vérifiés.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 a quitté le salon.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Ce salon contient des appareils non vérifiés et des appareils n&apos;ayant jamais changé leur clé maîtresse.</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Raison : %1</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Ce salon contient des appareils non vérifiés !</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 a arrêté de toquer.</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Montrer ou cacher les messages épinglés</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Vous avez rejoint ce salon.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Options du salon</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Inviter des utilisateurs</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 a invité %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Membres</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 a changé son avatar et changé son surnom en %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Quitter le salon</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 a changé son surnom en %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Paramètres</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 a quitté le salon après l&apos;avoir déjà quitté&#x202f;!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Désépingler</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 a banni %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 a toqué.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Montrer</translation>
     </message>
@@ -4010,13 +1716,13 @@ Raison : %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Aucun mécanisme de création de compte disponible !</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Création de compte annulée</translation>
@@ -4032,112 +1738,10 @@ Raison : %4</translation>
         <translation>Jeton invalide</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Mettre en ligne un fichier</numerusform>
-            <numerusform>Mettre en ligne %n fichiers</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Profil général de l&apos;utilisateur</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Profil utilisateur spécifique au salon</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Changer l&apos;image de profil partout.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Changer l&apos;image de profil. Ne s&apos;appliquera qu&apos;à ce salon.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Changer de surnom partout.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Changer de surnom. Ne s&apos;appliquera qu&apos;à ce salon.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Salon : %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Ceci est un profil spécifique à un salon. Le surnom et l&apos;image de profil peuvent être différents de leurs versions globales.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Ouvrir le profil global de cet utilisateur.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Vérifier</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Démarrer une discussion privée.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Expulser l&apos;utilisateur.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Bannir l&apos;utilisateur.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Rafraichir la liste des appareils.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Déconnecter cet appareil.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Changer le nom de l&apos;appareil.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>%1 vu pour la dernière fois depuis %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Dé-vérifier</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Déconnecter l&apos;appareil %1</translation>
     </message>
@@ -4170,8 +1774,8 @@ Raison : %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Défaut</translation>
     </message>
@@ -4179,7 +1783,7 @@ Raison : %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Thème</translation>
     </message>
@@ -4248,6 +1852,11 @@ Raison : %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Trier les salons par messages non lus</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4509,12 +2118,22 @@ Raison : %4</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Défaut</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Choisit le son de notification lors de la réception d&apos;un appel</translation>
     </message>
@@ -4586,7 +2205,21 @@ This will also enable or disable sending typing notifications to others.</source
 Ceci active ou désactive également l&apos;envoi de telles notifications de votre part.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Afficher des boutons pour rapidement répondre, réagir et accéder à d&apos;autres options près de chaque message.</translation>
     </message>
@@ -4640,17 +2273,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Typiquement, l&apos;icône de l&apos;application est mise en évidence dans la barre des tâches.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4660,14 +2293,7 @@ Typiquement, l&apos;icône de l&apos;application est mise en évidence dans la b
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4753,7 +2379,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Sélectionnez un fichier</translation>
     </message>
@@ -4763,7 +2399,7 @@ This setting will take effect upon restart.</source>
         <translation>Tous les types de fichiers (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Ouvrir le fichier de sessions</translation>
     </message>
@@ -4805,117 +2441,18 @@ This setting will take effect upon restart.</source>
         <translation>Fichier où sauvegarder les clés de session exportées</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>DEMANDER</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>TÉLÉCHARGER</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>EN CACHE</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>PAS DANS LE CACHE</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Retour</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTER</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTER</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Aucune discussion privée chiffrée trouvée avec cet utilisateur. Créez-en une et réessayez.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Attente du correspondant…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Attente d&apos;acceptation de la demande de vérification par le correspondant.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Attente de la poursuite du processus de vérification par le correspondant.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Attente de la fin du processus de vérification par le correspondant.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Bienvenue sur Nheko ! Le client de bureau pour le protocole Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Bon séjour !</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>S&apos;ENREGISTRER</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>CONNEXION</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Hier</translation>
     </message>
@@ -4923,7 +2460,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Ouvrir la solution de remplacement dans le navigateur</translation>
     </message>
@@ -4944,32 +2481,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Ouvrir reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Personnes</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Nature</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Confirmer</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Nourriture</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Résolvez le reCAPTCHA puis appuyez sur le bouton de confirmation</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Activités</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Voyage</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objets</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Symboles</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Drapeaux</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Vous avez envoyé un message audio</translation>
     </message>
@@ -5030,24 +2587,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Vous&#xa0;: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1&#xa0;: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_hu.ts b/resources/langs/nheko_hu.ts
index 803dc2fe3ad62f64af953a1c27d1bd14003bb14b..5518f778d6cb6225bf541764517a5430dde53c4d 100644
--- a/resources/langs/nheko_hu.ts
+++ b/resources/langs/nheko_hu.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="hu">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Hívás...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Csatlakozás...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Képernyőmegosztás folyamatban</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Kép-a-képben megjelenítése/elrejtése</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Mikrofon némításának kikapcsolása</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Mikrofon némítása</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -138,76 +28,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videóhívás</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Hanghívás</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Nem található mikrofon.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videóhívás</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Hanghívás</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Eszközök</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Elfogadás</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Ismeretlen mikrofon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Ismeretlen kamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Elutasítás</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Nem található mikrofon.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Az egész képernyő</translation>
     </message>
@@ -215,18 +54,26 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Nem sikerült meghívni a felhasználót: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>A felhasználó meg lett hívva: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -236,7 +83,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -267,12 +114,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Meghívás megerősítése</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Biztos, hogy meg akarod hívni a következő felhasználót: %1 (%2)?</translation>
     </message>
@@ -317,12 +164,12 @@
         <translation>Kitiltás feloldva a felhasználónak: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Biztosan privát csevegést akarsz indítani %1 felhasználóval?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Gyorsítótár migráció nem sikerült!</translation>
     </message>
@@ -344,7 +191,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Inkompatibilis gyorsítótár-verzió</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Nem sikerült visszaállítani az OLM fiókot. Kérlek, jelentkezz be ismét!</translation>
     </message>
@@ -417,16 +264,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -537,6 +379,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -678,47 +530,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished">Az összes szoba</translation>
     </message>
@@ -768,7 +607,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -789,2497 +628,613 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Titkos tároló feloldása</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Add meg a helyreállítási kulcsodat vagy a jelmondatodat a titkos tároló feloldásához:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Add meg a %1 nevű helyreállítási kulcsodat vagy a jelmondatodat a titkos tároló feloldásához:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Titkosítás feloldása nem sikerült</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Nem sikerült feloldani a titkosítási tárolót a megadott helyreállítási kulccsal vagy jelmondattal</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Minden fájl (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Titkosítás</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Érvénytelen Matrixazonosítót adtál meg. Példa: @janos:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Név</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Az automatikus felderítés nem sikerült. Helytelen válasz érkezett.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Az automatikus felderítés nem sikerült. Ismeretlen hiba a .well-known lekérése közben.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Nem találhatók szükséges végpontok. Lehet, hogy nem egy Matrixszerver.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Helytelen válasz érkezett. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Téma</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Egy ismeretlen hiba történt. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Álnév</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Titkosítás</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO BEJELENTKEZÉS</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Üres jelszó</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Titkos tároló feloldása</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO bejelentkezés nem sikerült</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Add meg a helyreállítási kulcsodat vagy a jelmondatodat a titkos tároló feloldásához:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished">Nem sikerült feltölteni a médiafájlt. Kérlek, próbáld újra!</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Add meg a %1 nevű helyreállítási kulcsodat vagy a jelmondatodat a titkos tároló feloldásához:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 küldött egy titkosított üzenetet</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Titkosítás feloldása nem sikerült</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 válasza: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Nem sikerült feloldani a titkosítási tárolót a megadott helyreállítási kulccsal vagy jelmondattal</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 egy titkosított üzenettel válaszolt</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>HItelesítési kód</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 válaszolt egy üzenetre</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Kérlek, ellenőrizd a következő számjegyeket. Mindkét oldalon ugyanazoknak a számoknak kell szerepelniük. Ha nem ugyanazok, kérlek, válaszd azt, hogy „Nem egyeznek!” a hitelesítés megszakításához!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 küldött egy üzenetet</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Nem egyeznek!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Megegyeznek!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Keresés</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Emberek</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Természet</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Ételek</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Tevékenység</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Utazás</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Tárgyak</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Jelképek</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Zászlók</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Ellenőrzési kód</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Kérlek, ellenőrizd a következő hangulatjeleket. Mindkét oldalon ugyanazoknak a hangulatjeleknek kell szerepelniük. Ha nem ugyanazok, kérlek, válaszd azt, hogy „Nem egyeznek!” a hitelesítés megszakításához!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Nem egyeznek!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Megegyeznek!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Ez az üzenet nincs titkosítva!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>A hitelesítés nem sikerült</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>A másik kliens nem támogatja a hitelesítési protokollunkat.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>A kulcsok nem egyeznek!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Időtúllépés az eszközhitelesítés alatt.</translation>
+        <source>Negotiate a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>A másik fél megszakította a hitelesítést.</translation>
+        <source>Answer a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Bezárás</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profil</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>profilnév</translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
+        <source>Send</source>
+        <translation type="unfinished">Küldés</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">Írj egy üzenetet…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished">Az automatikus felderítés nem sikerült. Helytelen válasz érkezett.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation type="unfinished"></translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished">Az automatikus felderítés nem sikerült. Ismeretlen hiba a .well-known lekérése közben.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished">Nem találhatók szükséges végpontok. Lehet, hogy nem egy Matrixszerver.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Helytelen válasz érkezett. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Egy ismeretlen hiba történt. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished">Szerkesztés</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">Bezárás</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Minden fájl (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Mégse</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">Szoba azonosítója vagy álneve</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Szoba elhagyása</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">Biztosan távozni akarsz?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrixazonosító</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>pl. @janos:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Jelszó</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>A jelszavad.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Eszköznév</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Homeszerver címe</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>szerver.em:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>BEJELENTKEZÉS</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Érvénytelen Matrixazonosítót adtál meg. Példa: @janos:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Az automatikus felderítés nem sikerült. Helytelen válasz érkezett.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Az automatikus felderítés nem sikerült. Ismeretlen hiba a .well-known lekérése közben.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Nem találhatók szükséges végpontok. Lehet, hogy nem egy Matrixszerver.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Helytelen válasz érkezett. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Egy ismeretlen hiba történt. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO BEJELENTKEZÉS</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Üres jelszó</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO bejelentkezés nem sikerült</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished">Nem sikerült feltölteni a médiafájlt. Kérlek, próbáld újra!</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 létrehozta és beállította a következő szobát: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 hanghívást kezdeményezett.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 videóhívást kezdeményezett.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 hívást kezdeményezett.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 fogadta a hívást.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 befejezte a hívást.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Hívás befejezése</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Hívás kezdeményezése</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Fájl küldése</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Írj egy üzenetet…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Hangulatjelek</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Küldés</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Szerkesztés</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reakció</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Válasz</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Műveletek</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished">Nyers üzenet megtekintése</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished">Előzőleg titkosított nyers üzenet megtekintése</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Hitelesítési kérés küldése</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Hitelesítési kérés érkezett</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Hogy ne hallgassa le semmilyen illetéktelen felhasználó a titkosított kommunikációidat, hitelesíteni tudod a másik felet.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 kérte a %2 nevű eszközének hitelesítését.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>A(z) %2 eszközt használó %1 hitelesítést kért.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Az eszközöd (%1) hitelesítést kért.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Mégse</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Elutasítás</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Hitelesítés indítása</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Elfogadás</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 küldött egy titkosított üzenetet</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 válasza: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 egy titkosított üzenettel válaszolt</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 válaszolt egy üzenetre</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 küldött egy üzenetet</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Hívás indítása %1 felé?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Nem található mikrofon.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Hang</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Videó</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Képernyő</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Mégse</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>nem implementált esemény: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>profilnév</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Küldés</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Írj egy üzenetet…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished">Olvasási jegyek</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Felhasználónév</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>A felhasználónév nem lehet üres és csak a következő karaktereket tartalmazhatja: a-z, 0-9, ., _, =, - és /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Jelszó</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Kérlek, válassz egy biztonságos jelszót! A jelszó erősségéről szóló pontos követelmények a szerveredtől függhetnek.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Jelszó megerősítése</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Homeszerver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Egy szerver, amelyen engedélyezve vannak a regisztrációk. Mivel a Matrix decentralizált, először találnod kell egy szervert, ahol regisztrálhatsz, vagy be kell állítanod a saját szervered.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Eszköznév</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISZTRÁCIÓ</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished">Az automatikus felderítés nem sikerült. Helytelen válasz érkezett.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished">Az automatikus felderítés nem sikerült. Ismeretlen hiba a .well-known lekérése közben.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished">Nem találhatók szükséges végpontok. Lehet, hogy nem egy Matrixszerver.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Helytelen válasz érkezett. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Egy ismeretlen hiba történt. Ellenőrizd, hogy a homeszervered domainje helyes.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Bezárás</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>nincs tárolva verzió</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Szoba elhagyása</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished">Szoba megcímkézése:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished">Kedvenc</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished">Kijelentkezés</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">Bezárás</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished">Új csevegés indítása</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished">Csatlakozás egy szobához</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished">Szobák jegyzéke</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished">Felhasználói beállítások</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Szobabeállítások</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>BEÁLLÍTÁSOK</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Értesítések</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Némítva</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Csak említések</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Az összes üzenet</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Titkosítás</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Végponttól végpontig titkosítás</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFÓ</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Belső azonosító</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Szoba verziója</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Nem sikerült a titkosítás aktiválása: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Profilkép kiválasztása</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Minden fájl (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>A kiválasztott fájl nem egy kép</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Hiba a fájl olvasása közben: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Nem sikerült a kép feltöltése: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomInfo</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Meg legyen osztva a képernyő %1 felhasználóval?</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>nincs tárolva verzió</translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Ablak:</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Nem sikerült a titkosítás aktiválása: %1</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Képkockasebesség:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Profilkép kiválasztása</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>A kamera is szerepeljen a kép-a-képben</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Minden fájl (*)</translation>
     </message>
     <message>
         <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Távoli kamera kérése</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>A hívó kamerájának megjelenítése, mint egy normál videóhívásban</translation>
+        <source>The selected file is not an image</source>
+        <translation>A kiválasztott fájl nem egy kép</translation>
     </message>
     <message>
         <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Egérkurzor elrejtése</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Megosztás</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Előnézet</translation>
+        <source>Error while reading file: %1</source>
+        <translation>Hiba a fájl olvasása közben: %1</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Mégse</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Nem sikerült a kép feltöltése: %s</translation>
     </message>
 </context>
 <context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
     <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+7"/>
-        <source>verify</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3312,19 +1267,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3335,97 +1290,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Sikertelen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Elküldve</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Megérkezett</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Elolvasva</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished">Keresés</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Sikeres hitelesítés</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>A hitelesítés sikeres! Mindkét oldal hitelesítette az eszközeit!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Bezárás</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Az üzenet visszavonása nem sikerült: %1</translation>
@@ -3457,7 +1325,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Fájl mentése</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3765,222 +1633,66 @@ Reason: %4</source>
         <translation>%1 elutasította a meghívását.</translation>
     </message>
     <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 elhagyta a szobát.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 visszavonta a kopogását.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Csatlakoztál ehhez a szobához.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 távozott, miután már egyszer távozott!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 kopogott.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Szerkesztve</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Nincs nyitott szoba</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Beállítások</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished">Vissza a szobák listájára</translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Vissza a szobák listájára</translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Nincs kiválasztva szoba</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 elhagyta a szobát.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 visszavonta a kopogását.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Csatlakoztál ehhez a szobához.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Szoba beállításai</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Felhasználók meghívása</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Tagok</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Szoba elhagyása</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Beállítások</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 távozott, miután már egyszer távozott!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 kopogott.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Mutat</translation>
     </message>
@@ -3993,13 +1705,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation type="unfinished"></translation>
@@ -4015,111 +1727,10 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Globális felhasználói profil</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Szobai felhasználói profil</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Hitelesítés</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Hitelesítés visszavonása</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4152,8 +1763,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Alapértelmezett</translation>
     </message>
@@ -4161,7 +1772,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Téma</translation>
     </message>
@@ -4230,6 +1841,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Szobák sorrendje olvasatlan üzenetek alapján</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4491,12 +2107,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished">Alapértelmezett</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished">Az értesítőhang megadása, amely akkor szól, ha hívás érkezik</translation>
     </message>
@@ -4570,7 +2196,21 @@ This will also enable or disable sending typing notifications to others.</source
 Ez be vagy ki is kapcsolja a gépelési értesítések küldését másoknak.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished">Gombok mutatása minden egyes üzenet mellett a gyors válaszhoz, reakcióhoz és egyéb műveletek eléréséhez.</translation>
     </message>
@@ -4623,17 +2263,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Ettől általában animálttá válik az alkalmazásablakok listáján szereplő ikon.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4643,14 +2283,7 @@ Ettől általában animálttá válik az alkalmazásablakok listáján szereplő
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4735,7 +2368,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">Fájl kiválasztása</translation>
     </message>
@@ -4745,7 +2388,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Minden fájl (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Munkameneti fájl megnyitása</translation>
     </message>
@@ -4787,117 +2430,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Exportált munkameneti kulcsok mentése fájlba</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>LEKÉRÉS</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>LETÖLTÉS</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>GYORSÍTÓTÁRAZVA</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NINCS GYORSÍTÓTÁRAZVA</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTÁLÁS</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTÁLÁS</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished">Nem található titkosított privát csevegés ezzel a felhasználóval. Hozz létre egy titkosított privát csevegést vele, és próbáld újra!</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Várakozás a másik félre…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Várakozás a másik oldalra, hogy elfogadja a hitelesítési kérelmet.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Várakozás a másik oldalra a hitelesítés folytatásához.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Várakozás a másik oldalra a hitelesítés befejezéséhez.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Mégse</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Üdvözöl a Nheko, egy asztali kliens a Matrix protokollhoz!</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Érezd jól magad nálunk!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISZTRÁCIÓ</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>BEJELENTKEZÉS</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Tegnap</translation>
     </message>
@@ -4905,7 +2449,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Fallback megnyitása böngészőben</translation>
     </message>
@@ -4926,32 +2470,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Emberek</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Mégse</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Természet</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Megerősítés</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Ételek</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Oldd meg a reCAPTCHA feladványát, és nyomd meg a „Megerősítés” gombot</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Tevékenység</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Utazás</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Tárgyak</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Jelképek</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Zászlók</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Küldtél egy hangfájlt</translation>
     </message>
@@ -5012,24 +2576,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Te: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_id.ts b/resources/langs/nheko_id.ts
index 7af25e130f10d0ce0c325f6dde5481ba5b93e55a..77ac5995c7ec712514486e3930ad220905fcb8ab 100644
--- a/resources/langs/nheko_id.ts
+++ b/resources/langs/nheko_id.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="id">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Memanggil…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Menghubungkan…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Kamu sedang membagikan layar.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Sembunyikan/Tampilkan Picture-in-Picture</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Bunyikan Mikrofon</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Bisukan Mikrofon</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Gagal memperbarui alias: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Alias ke %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Daftar alias ke ruangan ini. Biasanya hanya kamu yang bisa menambahkan alias di servermu. Kamu bisa memiliki satu alias kanonik dan banyak alias lain.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Alias utama</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Buat sebagai alias utama</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Promosikan sebagai sebuah alias di ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Publikasikan di direktori ruangan</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Hapus alias ini</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#alias-baru:server.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Tambahkan</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Pengaturan ruangan yang diperbolehkan</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Daftar ruangan yang memperbolehkan akses ke ruangan ini. Siapa pun yang berada di ruangan apa pun itu dapat bergabung ruangan ini.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Induk komunitas</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Ruangan lainnya</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Masukkan ruangan tambahan yang belum ada di daftar ini...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 dan %n lainnya</numerusform>
@@ -138,76 +28,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Ruangan Kosong</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Panggilan Video</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Panggilan Suara</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Tidak ada mikrofon yang ditemukan.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Panggilan Video</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Panggilan Suara</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Perangkat</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Terima</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Mikrofon tidak dikenal: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Kamera tidak dikenal: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Tolak</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Tidak ada mikrofon yang ditemukan.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Semua layar</translation>
     </message>
@@ -215,18 +54,26 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Gagal mengundang pengguna: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Pengguna yang diundang: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Konfirmasi keluar dari akun</translation>
     </message>
@@ -236,7 +83,7 @@
         <translation>Tembolok pada diskmu lebih baru daripada versi yang didukung Nheko ini. Harap perbarui Nheko atau bersihkan tembolokmu.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Gagal untuk membuka basisdata, kamu telah dikeluarkan!</translation>
     </message>
@@ -267,12 +114,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Konfirmasi undangan</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Apakah kamu ingin mengundang %1 (%2)?</translation>
     </message>
@@ -317,12 +164,12 @@
         <translation>Menghilangkan cekalan pengguna: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Apakah kamu ingin memulai chat privat dengan %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Migrasi tembolok gagal!</translation>
     </message>
@@ -346,7 +193,7 @@ Jika kamu pikir bahwa ini adalah kesalahan, kamu bisa menutup Nheko untuk memuli
         <translation>Versi tembolok tidak kompatibel</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Gagal memulihkan akun OLM. Mohon masuk lagi.</translation>
     </message>
@@ -420,16 +267,11 @@ Kamu dapat memberikan alasan untuk orang lain untuk menerima ketukanmu:</transla
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Masukkan alasan untuk mencekal %1 (%2) atau tekan enter untuk mencekal tanpa alasan:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Tidak ada koneksi jaringan</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;pesan&gt;</translation>
     </message>
@@ -540,6 +382,16 @@ Kamu dapat memberikan alasan untuk orang lain untuk menerima ketukanmu:</transla
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;referensi pesan&gt;</translation>
     </message>
@@ -679,6 +531,16 @@ Kamu dapat memberikan alasan untuk orang lain untuk menerima ketukanmu:</transla
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Kirim pesan dengan warna pelangi dengan konfeti.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -695,33 +557,10 @@ Kamu dapat memberikan alasan untuk orang lain untuk menerima ketukanmu:</transla
         <translation>Ubah obrolan langsung ini ke sebuah ruangan.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Jangan tampilkan jumlah notifikasi untuk komunitas atau tag ini.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Sembunyikan ruangan dengan tag atau komunitas ini secara bawaan.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Besarkan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Kecilkan</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Semua ruangan</translation>
     </message>
@@ -771,7 +610,7 @@ Kamu dapat memberikan alasan untuk orang lain untuk menerima ketukanmu:</transla
         <translation>Pesan dari servermu atau administratormu.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Gagal memperbarui komunitas: %1</translation>
     </message>
@@ -792,2444 +631,600 @@ Kamu dapat memberikan alasan untuk orang lain untuk menerima ketukanmu:</transla
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Konfirmasi pergabungan komunitas</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Dekripsi rahasia</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Konfirmasi pergabungan ruangan</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Masukkan kunci pemulihanmu atau frasa sandi untuk mendekripsikan rahasiamu:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n anggota</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Masukkan kunci pemulihanmu atau frasa sandi yang bernama %1 untuk mendekripsikan rahasiamu:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Apakah kamu ingin bergabung ke ruangan ini? Kamu bisa menambahkan alasan secara opsional di bawah:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Gagal mendekripsi</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Ruangan ini tidak bisa digabung secara langsung. Kamu dapat mengetuk pada ruangan dan anggota ruangan dapat menerima atau menolak permintaan bergabungan ini. Kamu bisa menambahkan alasan untuk mereka untuk menambahkan kamu di bawah:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Gagal mendekripsi rahasia dengan kunci pemulihan atau frasa sandi yang diberikan</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Ketuk</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Gagal menetapkan peristiwa tersembunyi: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Bergabung</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Buat Obrolan Langsung</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Gagal menetapkan peristiwa tersembunyi: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Pengguna untuk diundang</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Semua File (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@pengguna:server.tld</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Pengunggahan &apos;%1&apos; gagal</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Enkripsi</translation>
+        <location line="-901"/>
+        <source>Select file(s)</source>
+        <translation>Pilih berkas</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Buat Ruangan</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Kamu telah memasukkan ID Matrix yang tidak valid  mis. @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Nama</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Penemuan otomatis gagal. Menerima respons cacat.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Komunitas baru</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Penemuan otomatis gagal. Kesalahan tidak diketahui saat meminta .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Ruangan baru</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Titik akhir yang dibutuhkan tidak dapat ditemukan. Kemungkinan bukan server Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Tidak ada nama</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Menerima respons cacat. Pastikan domain homeservernya valid.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Topik</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Terjadi kesalahan yang tidak diketahui. Pastikan domain homeservernya valid.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Tidak ada topik</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>Server yang dipilih tidak mendukung sebuah versi protokol Matrix yang klien ini mengerti (v1.1 sampai v1.5). Kamu tidak bisa masuk.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Masuk dengan Apple</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Publik</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Lanjutkan dengan Facebook</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Ruangan publik dapat digabung oleh siapa pun; ruangan privat membutuhkan undangan eksplisit.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Masuk dengan Google</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Dipercayai</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Masuk dengan Twitter</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Semua yang diundang akan diberikan tingkat daya yang sama sebagai pembuat</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Masuk menggunakan %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Enkripsi</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>LOGIN SSO</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Peringatan: Enkripsi tidak dapat dinonaktifkan</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Kata sandi kosong</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Dekripsi rahasia</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Login SSO gagal</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Masukkan kunci pemulihanmu atau frasa sandi untuk mendekripsikan rahasiamu:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+747"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Gagal untuk mengunggah media. Silakan coba lagi.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Masukkan kunci pemulihanmu atau frasa sandi yang bernama %1 untuk mendekripsikan rahasiamu:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 mengirim pesan terenkripsi</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Gagal mendekripsi</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 membalas: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Gagal mendekripsi rahasia dengan kunci pemulihan atau frasa sandi yang diberikan</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 membalas dengan pesan terenkripsi</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Kode Verifikasi</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 membalas pesan</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Harap verifikasi digit berikut.  Kamu seharusnya melihat angka yang sama di kedua sisi.  Jika mereka berbeda, mohon tekan &apos;Mereka tidak cocok!&apos; untuk membatalkan verifikasi!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 mengirim gambar</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Mereka tidak cocok!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Gagal memperbarui tingkat daya: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Mereka cocok!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Gagal memperbarui tingkat daya: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Cari</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Peristiwa lainnya</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Orang</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Peristiwa status lain</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Alam</translation>
+        <source>Remove other users</source>
+        <translation>Menghapus pengguna lainnya</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Makanan</translation>
+        <source>Ban other users</source>
+        <translation>Cekal pengguna lain</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktivitas</translation>
+        <source>Invite other users</source>
+        <translation>Mengundang pengguna lainnya</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Tempat</translation>
+        <source>Redact events sent by others</source>
+        <translation>Meredaksi peristiwa terkirim dari lainnya</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objek</translation>
+        <source>Reactions</source>
+        <translation>Reaksi</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Simbol</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Peristiwa alias yang usang</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Bendera</translation>
+        <source>Change the room avatar</source>
+        <translation>Ubah avatar ruangan</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Kode Verifikasi</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Ubah alamat ruangan</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Mohon verifikasi emoji berikut. Kamu seharusnya melihat emoji yang sama di kedua sisi. Jika mereka berbeda, mohon tekan &apos;Mereka tidak cocok!&apos; untuk membatalkan verifikasi!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Kirim pesan terenkripsi</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Emoji yang ditampilkan mungkin terlihat berbeda dalam klien yang lain jika font lain digunakan. Mereka mungkin juga diterjemahkan ke bahasa yang berbeda. Mereka seharusnya menampilkan salah satu dari 64 objek atau binatang yang berbeda. Sebagai contoh, seekor singa dan kucing berbeda, tetapi seekor kucing masih sama bahkan jika satu klien menampilkan wajah kucing, dan klien yang lain menampilkan seluruh badan kucing.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Mengaktifkan enkripsi</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Mereka tidak cocok!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Mengubah akses tamu</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Mereka cocok!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Mengubah visibilitas riwayat</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Tidak ada kunci untuk mengakses pesan ini. Kami telah meminta untuk kunci secara otomatis, tetapi kamu bisa meminta lagi jika kamu tidak sabar.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Mengubah siapa saja yang dapat bergabung</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Pesan ini tidak bisa didekripsikan, karena kami hanya memiliki kunci untuk pesan baru. Kamu bisa meminta akses ke pesan ini.</translation>
+        <source>Send messages</source>
+        <translation>Kirim pesan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Sebuah kesalahan internal terjadi saat membaca kunci dekripsi dari basis data.</translation>
+        <source>Change the room name</source>
+        <translation>Mengubah nama ruangan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Sebuah error terjadi saat mendekripsikan pesan ini.</translation>
+        <source>Change the room permissions</source>
+        <translation>Mengubah izin ruangan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Pesan ini tidak dapat diuraikan.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Mengubah topik ruangan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Kunci enkripsi telah digunakan lagi! Seseorang mungkin mencoba memasukkan pesan palsu ke chat ini!</translation>
+        <source>Change the widgets</source>
+        <translation>Mengubah widget</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Error dekripsi yang tidak dikenal</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Mengubah widget (eksperimental)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Minta kunci</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Meredaksi peristiwa sendiri</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 mengaktifkan enkripsi ujung ke ujung</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Mengubah peristiwa yang tersemat</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Enkripsi membuat pesanmu aman dengan hanya memperbolehkan orang-orang yang kamu kirim pesannya untuk mereka baca. Untuk keamanan lebih, jika kamu ingin yakin kamu berbicara ke orang-orang yang benar, kamu bisa memverifikasi secara langsung.</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Meningkatkan ruangan</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Pesan ini tidak terenkripsi!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Kirim stiker</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Terenkripsi oleh perangkat yang terverifikasi</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Cekal pengguna menggunakan aturan kebijakan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Terenkripsi oleh perangkat yang tidak diverifikasi, tetapi kamu mempercayai pengguna itu sejauh ini.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Cekal ruangan menggunakan aturan kebijakan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Terenkripsi oleh perangkat yang tidak diverifikasi atau kuncinya dari sumber yang tidak dipercayai seperti cadangan kunci.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Cekal server menggunakan aturan kebijakan</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verifikasi gagal</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Edit komunitas dan ruangan anak</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Client yang lain tidak mendukung protokol verifikasi kami.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Ubah induk komunitas</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Ketidakcocokan kunci terdeteksi!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Memulai sebuah panggilan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Waktu verifikasi perangkat habis.</translation>
+        <source>Negotiate a call</source>
+        <translation>Menegosiasi sebuah panggilan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Pengguna yang lain membatalkan proses verifikasi ini.</translation>
+        <source>Answer a call</source>
+        <translation>Menjawab sebuah panggilan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Pesan verifikasi diterima secara tidak berurutan!</translation>
+        <source>Hang up a call</source>
+        <translation>Mengakhiri sebuah panggilan</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Kesalahan verifikasi yang tidak diketahui.</translation>
+        <source>Reject a call</source>
+        <translation>Tolak panggilan</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Tutup</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Mengubah emoji ruangan</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Teruskan Pesan</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Pengguna lain</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Gagal menetapkan peristiwa tersembunyi: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Buat sebuah profil unik yang memungkinkan kamu untuk masuk ke beberapa akun secara bersamaan dan mulai beberapa instansi Nheko.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Peristiwa tersembunyi untuk %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profil</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Peristiwa tersembunyi</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>nama profil</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Peristiwa berikut ini akan &lt;b&gt;ditampilkan&lt;/b&gt; di %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Alias untuk &apos;--log-level trace&apos;.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Peristiwa berikut ini akan &lt;b&gt;ditampilkan&lt;/b&gt; di semua ruangan:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Tetapkan tingkat pencatatan global, atau daftar &lt;komponen&gt;=&lt;tingkat&gt; yang dipisahkan oleh koma, atau keduanya. Misalnya, untuk menetapkan tingkat pencatatan ke &apos;warn&apos; tetapi menonaktifkan pencatatan untuk komponen &apos;ui&apos;, tambahkan &apos;warn,ui=off&apos;. tingkat={trace,debug,info,warning,error,critical,off} komponen:[crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Peristiwa pengguna</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>tingkat</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Gabungan, keluaran, perubahan avatar dan nama, cekalan, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Tetapkan jenis keluaran catatan. Daftar yang dipisahkan oleh koma diperbolehkan. Bawaan adalah &apos;file,stderr&apos;. tipe:{file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Perubahan tingkat daya</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>jenis</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Tanggapi</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Terkirim ketika seorang moderator ditambahkan/dikeluarkan atau izin ruangan telah diubah.</translation>
+        <source>Send</source>
+        <translation>Kirim</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Stiker</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Ketik pesan…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Mengedit paket gambar</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Kemarin, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Tambahkan gambar</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Penemuan otomatis gagal. Menerima respons cacat.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Gambar (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Penemuan otomatis gagal. Terjadi kesalahan yang tidak diketahui saat meminta .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>PIlih gambar untuk paket</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Titik akhir yang dibutuhkan tidak dapat ditemukan. Kemungkinan bukan server Matrix.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Tambahkan ke paket</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Menerima respons cacat. Pastikan domain homeservernya valid.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Ubah gambar ikhtisar untuk paket ini</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Terjadi kesalahan yang tidak diketahui. Pastikan domain homeservernya valid.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Gambar ikhtisar (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>Server yang dipilih tidak mendukung sebuah versi protokol Matrix yang klien ini mengerti (v1.1 ke v1.5). Kamu tidak bisa mendaftar.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Pilih gambar ikhtisar untuk paket</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Server tidak mendukung kueri alur pendaftaran!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Kunci keadaan</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Server tidak mendukung pendaftaran.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Nama Paket</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Nama pengguna tidak valid.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Atribusi</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Nama sudah digunakan.</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Gunakan sebagai Emoji</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation>Bagian oleh namespace yang direservasikan.</translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Gunakan sebagai Stiker</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Kode Pendek</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Body</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Hapus dari paket</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Hapus</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Pengaturan paket gambar</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Buat paket untuk akun</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Paket ruangan baru</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Paket privat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Paket dari ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Paket dari induk komunitas</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Paket yang diaktifkan secara global</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Aktifkan secara global</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Mengaktifkan paket ini untuk digunakan di semua ruangan</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Edit</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Tutup</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Semua File (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Pengunggahan &apos;%1&apos; gagal</translation>
-    </message>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+372"/>
-        <source>Select file(s)</source>
-        <translation>Pilih berkas</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Undang pengguna ke %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@pengguna:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Cari pengguna</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Cari di Server</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Undang</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Batalkan</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Gabung ruangan</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>ID ruangan atau alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Bergabung</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Tinggalkan ruangan</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Apakah kamu yakin untuk keluar?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>ID Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>mis. @pengguna:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Nama masuk kamu. Sebuah MXID seharusnya mulai dengan @ diikuti dengan ID pengguna. Setelah ID pengguna kamu harus menambahkan nama servermu setelah :.
-Kamu juga bisa meletakkan alamat homeserver kamu di situ jika server kamu tidak mendukung pencarian .well-known.
-Contoh: @pengguna:server.saya
-Jika Nheko gagal menemukan homeserver kamu, sebuah kolom akan ditampilkan untuk memasukkan server secara manual.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Kata Sandi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Kata sandimu.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nama perangkat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Sebuah nama untuk perangkat ini yang akan ditampilkan kepada orang lain ketika memverifikasi perangkatmu. Jika tidak ada yang disediakan, sebuah bawaan akan digunakan.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>Alamat yang dapat digunakan untuk menghubungi API klien homeserver kamu.
-Contoh: https://server.saya:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Alamat homeserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.my:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>MASUK</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Kembali</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Kamu telah memasukkan ID Matrix yang tidak valid  mis. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Penemuan otomatis gagal. Menerima respons cacat.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Penemuan otomatis gagal. Kesalahan tidak diketahui saat meminta .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Titik akhir yang dibutuhkan tidak dapat ditemukan. Kemungkinan bukan server Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Menerima respons cacat. Pastikan domain homeservernya valid.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Terjadi kesalahan yang tidak diketahui. Pastikan domain homeservernya valid.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>Server yang dipilih tidak mendukung sebuah versi protokol Matrix yang klien ini mengerti (v1.1 sampai v1.5). Kamu tidak bisa masuk.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Masuk dengan Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Lanjutkan dengan Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Masuk dengan Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Masuk dengan Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Masuk menggunakan %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>LOGIN SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Kata sandi kosong</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Login SSO gagal</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Keluar</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Sebuah panggilan sedang berjalan. Keluar?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Apakah kamu ingin keluar?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Gagal untuk mengunggah media. Silakan coba lagi.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation>%1 menghapus sebuah pesan</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 mengubah nama ruangan ke: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 menghapus nama ruangan</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 mengubah topik ke: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 menghapus topiknya</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 mengubah avatar ruangan</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 mengubah pesan-pesan yang dipasangi pin.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 mengubah alamat-alamat untuk ruangan ini.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 membuat dan mengkonfigurasikan ruangan: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 melakukan panggilan suara.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 melakukan panggilan suara.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 melakukan panggilan.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 menolak panggilan.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 memilih menjawab</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 sedang melakukan panggilan...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Izinkan mereka untuk masuk</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 menjawab panggilan.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Ruangan ini digantikan karena alasan berikut: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Pergi ke ruangan baru</translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 mengubah komunitas induk untuk ruangan.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 mengakhir panggilan.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Tutup panggilan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Lakukan panggilan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Sudah ada dalam panggilan</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Kirim sebuah file</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Ketik pesan…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Stiker</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Kirim</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Kamu tidak memiliki izin untuk mengirim pesan di ruangan ini</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Edit</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reaksi</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Balas dalam utasan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Utasan baru</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Balas</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Opsi</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Alasan untuk menghapus</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Masukkan alasan untuk menghapus atau tekan enter untuk menghapus tanpa alasan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Salin</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Salin lokasi &amp;tautan</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;aksi</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Bala&amp;s</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Edit</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Utasan</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Lepaska&amp;n pin</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Pasangi pin</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>&amp;Laporan dibaca</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Teruskan</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Tandai sebagai dibaca</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Tampilkan pesan mentah</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Tampilkan pesan terdekripsi mentah</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Hap&amp;us pesan</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Simpan sebagai</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Buka di program eksternal</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Salin tautan ke peristi&amp;wa</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Pergi ke pesan yang dikutip</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Kirim Permintaan Verifikasi</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Menerima Permintaan Verifikasi</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Untuk memungkinkan pengguna lain melihat perangkat apa saja yang sebenarnya milikmu, kamu bisa memverifikasinya. Ini juga memungkinkan pencadangan kunci untuk bekerja secara otomatis. Verifikasi sebuah perangkat yang belum diverifikasi? (Pastikan kamu memiliki salah satu perangkat tersedia.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Untuk memungkinkan pengguna lain untuk melihat perangkat apa saja yang sebenarnya milikmu, kamu bisa memverifikasinya. Ini juga memungkinkan pencadangan kunci untuk bekerja secara otomatis. Verifikasi %1 sekarang?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Supaya tidak ada pengguna yang jahat yang bisa melihat komunikasi yang terenkripsi kamu bisa memverifikasi pengguna yang lain.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 telah meminta untuk memverifikasi perangkat %2 mereka.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 yang menggunakan perangkat %2 meminta untuk diverifikasi.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Perangkatmu (%1) meminta untuk diverifikasi.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Batalkan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Tolak</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Mulai verifikasi</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Terima</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Kamu akan memberi tahu seluruh ruangan</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 mengirim pesan terenkripsi</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 membalas: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 membalas dengan pesan terenkripsi</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 membalas pesan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 mengirim gambar</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Lakukan panggilan ke %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Tidak ada mikrofon yang ditemukan.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Suara</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Layar</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Batalkan</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>peristiwa yang belum diimplementasikan: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Perizinan di %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Hati-hati ketika mengedit perizinan. Kamu tidak dapat mengubah tingkat izin orang dengan tingkat yang sama atau tingkat yang lebih tinggi daripada kamu. Hati-hati ketika mempromosikan yang lain.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Peran</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Pengguna</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Pindahkan izin antara peran untuk mengubahnya</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Administrator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Moderator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Pengguna (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Kustom (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Hapus tipe peristiwa</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Tambahkan tipe peristiwa</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Tambahkan peran baru</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Tambahkan</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Pindahkan pengguna ke atas atau ke bawah untuk mengubah izin mereka</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Hapus pengguna</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Tambahkan pengguna</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Terapkan perubahan izin</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Subkomunitas dan ruangan apa saja yang seharusnya diterapkan oleh izin ini?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Terapkan izin secara rekursif</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Timpa perubahan yang sudah ada dalam ruangan</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Tidak ada izin untuk diterapkan ke izin yang baru di sini</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Tidak ada perubahan yang dibutuhkan</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Perubahan yang sudah ada ke izin di ruangan ini akan ditimpa</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Izin disinkronkan dengan komunitas</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Gagal memperbarui tingkat daya: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Gagal memperbarui tingkat daya: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Peristiwa lainnya</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Peristiwa status lain</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Menghapus pengguna lainnya</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Cekal pengguna lain</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Mengundang pengguna lainnya</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Meredaksi peristiwa terkirim dari lainnya</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reaksi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Peristiwa alias yang usang</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Ubah avatar ruangan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Ubah alamat ruangan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Kirim pesan terenkripsi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Mengaktifkan enkripsi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Mengubah akses tamu</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Mengubah visibilitas riwayat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Mengubah siapa saja yang dapat bergabung</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Kirim pesan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Mengubah nama ruangan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Mengubah izin ruangan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Mengubah topik ruangan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Mengubah widget</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Mengubah widget (eksperimental)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Meredaksi peristiwa sendiri</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Mengubah peristiwa yang tersemat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Meningkatkan ruangan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Kirim stiker</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Cekal pengguna menggunakan aturan kebijakan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Cekal ruangan menggunakan aturan kebijakan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Cekal server menggunakan aturan kebijakan</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Edit komunitas dan ruangan anak</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Ubah induk komunitas</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Memulai sebuah panggilan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Menegosiasi sebuah panggilan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Menjawab sebuah panggilan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Mengakhiri sebuah panggilan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Tolak panggilan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Mengubah emoji ruangan</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Pengguna lain</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Buat sebuah profil unik yang memungkinkan kamu untuk masuk ke beberapa akun secara bersamaan dan mulai beberapa instansi Nheko.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>nama profil</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Alias untuk &apos;--log-level trace&apos;.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Tetapkan tingkat pencatatan global, atau daftar &lt;komponen&gt;=&lt;tingkat&gt; yang dipisahkan oleh koma, atau keduanya. Misalnya, untuk menetapkan tingkat pencatatan ke &apos;warn&apos; tetapi menonaktifkan pencatatan untuk komponen &apos;ui&apos;, tambahkan &apos;warn,ui=off&apos;. tingkat={trace,debug,info,warning,error,critical,off} komponen:[crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>tingkat</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Tetapkan jenis keluaran catatan. Daftar yang dipisahkan oleh koma diperbolehkan. Bawaan adalah &apos;file,stderr&apos;. tipe:{file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>jenis</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Tanggapi</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Kirim</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Ketik pesan…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Laporan dibaca</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Kemarin, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nama pengguna</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Nama pengguna tidak boleh kosong, dan hanya mengandung karakter a-z, 0-9, ., _, =, -, dan /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Kembali</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Kata sandi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Mohon memilih kata sandi yang aman. Persyaratan untuk kekuatan sandi mungkin bergantung pada servermu.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Konfirmasi kata sandi</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Sebuah nama untuk perangkat ini yang akan ditampilkan kepada orang lain ketika memverifikasi perangkatmu. Jika tidak ada, bawaan akan digunakan.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Homeserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>server.mu</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Sebuah server yang mengizinkan pendaftaran. Karena Matrix itu terdecentralisasi, kamu pertama harus mencari server yang kamu daftar atau host servermu sendiri.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Kata sandimu tidak cocok!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nama perangkat</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>DAFTAR</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Penemuan otomatis gagal. Menerima respons cacat.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Penemuan otomatis gagal. Terjadi kesalahan yang tidak diketahui saat meminta .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Titik akhir yang dibutuhkan tidak dapat ditemukan. Kemungkinan bukan server Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Menerima respons cacat. Pastikan domain homeservernya valid.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Terjadi kesalahan yang tidak diketahui. Pastikan domain homeservernya valid.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>Server yang dipilih tidak mendukung sebuah versi protokol Matrix yang klien ini mengerti (v1.1 ke v1.5). Kamu tidak bisa mendaftar.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Server tidak mendukung kueri alur pendaftaran!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Server tidak mendukung pendaftaran.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Nama pengguna tidak valid.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Nama sudah digunakan.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Bagian oleh namespace yang direservasikan.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Tutup</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Batalkan Pengeditan</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Batalkan Utasan</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Temukan Ruangan Publik</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Cari ruangan publik</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Pilih homeserver kustom</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>tidak ada versi yang disimpan</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Tag baru</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Masukkan tag yang kamu ingin gunakan:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Buka terpisah</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Pengaturan ruangan</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Tinggalkan ruangan</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Salin tautan ruangan</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Tandai ruangan sebagai:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favorit</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Prioritas rendah</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Pemberitahuan server</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Buat tag baru…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Tambahkan atau hapus dari komunitas...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Pesan Status</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Masukkan pesan statusmu:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Pengaturan profil</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Tetapkan pesan status</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Keluar</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Enkripsi belum disiapkan</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Login belum diverifikasi</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Mohon verifikasi perangkatmu yang lain</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Tutup</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Mulai chat baru</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Bergabung sebuah ruangan</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Buat ruangan baru</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Mulai sebuah obrolan langsung</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Buat sebuah komunitas baru</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Direktori ruangan</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Cari ruangan (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Pengaturan pengguna</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Anggota dari %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n orang di %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Undang banyak orang</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Cari...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Urutkan berdasarkan: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>ID Pengguna</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Nama tampilan</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Tingkat daya</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Administrator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Moderator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Pengguna: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Ruangan ini tidak terenkripsi!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Pengguna ini sudah diverifikasi.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Pengguna ini belum diverifikasi, tetapi masih menggunakan kunci utama dari pertama kali kamu bertemu.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Pengguna ini memiliki perangkat yang belum diverifikasi!</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>tidak ada versi yang disimpan</translation>
     </message>
 </context>
 <context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Pengaturan Ruangan</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Ubah avatar ruangan.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Ubah nama ruangan</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n anggota</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Tampilkan anggota %1</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Tidak ada topik yang ditetapkan</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Ubah topik ruangan</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>PENGATURAN</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Notifikasi</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Bisukan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Sebutan saja</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Semua pesan</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Enkripsi</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Enkripsi Ujung-ke-Ujung</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Enkripsi saat ini eksperimental dan hal-hal mungkin rusak tanpa terduga. &lt;br&gt;
-Dicatat bahwa ini tidak dapat dinonaktifkan setelah ini.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Izin</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Lihat dan ubah izin di ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Tampilkan dan ubah alamat/alias ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Pengaturan Stiker &amp; Emote</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Ubah</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Peristiwa tersembunyi</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Konfigurasi</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Siapa pun dapat bergabung</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Perbolehkan pengetukan</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Perbolehkan bergabung dari ruangan lain</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Ruangan untuk digabung dari</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Ubah daftar ruangan yang bisa digabung oleh ruangan dari. Biasanya ini komunitas resmi dari ruangan ini.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Perbolehkan tamu untuk bergabung</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Terapkan aturan pengaksesan</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Alias</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Ubah paket apa yang diaktifkan, hapus paket, atau buat yang baru</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Pilih peristiwa untuk disembunyikan di ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>ID Internal</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Tersalin ke papan klip</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Versi Ruangan</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>sembunyikan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>tampilkan</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Gagal mengaktifkan enkripsi: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Pilih sebuah avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Semua File (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>File yang dipilih bukan sebuah gambar</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Terjadi kesalahan saat membaca file: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Gagal mengunggah gambar: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Undangan tertunda.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Menampilkan ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Tidak ada tampilan yang tersedia</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Mohon masukkan kata sandi loginmu untuk melanjutkan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Mohon masukkan sebuah alamat email yang valid untuk melanjutkan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Mohon masukkan sebuah nomor telepon yang valid untuk melanjutkan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Silakan masukkan token yang dikirim ke kamu:</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Tunggu untuk tautan konfirmasinya, lalu lanjutkan.</translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Bagikan desktop dengan %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Gagal mengaktifkan enkripsi: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Jendela:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Pilih sebuah avatar</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Frame rate:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Semua File (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Tambahkan kameramu dalam gambar-dalam-gambar</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>File yang dipilih bukan sebuah gambar</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Minta kamera jarak jauh</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Terjadi kesalahan saat membaca file: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Tampilkan kamera pengguna yang menerima panggilan seperti panggilan video biasa</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Gagal mengunggah gambar: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Sembunyikan kursor mouse</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Undangan tertunda.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Bagikan</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Menampilkan ruangan ini</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Tampilkan</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Tidak ada tampilan yang tersedia</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Batalkan</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Gagal menghubungkan ke penyimpanan rahasia</translation>
     </message>
@@ -3239,62 +1234,10 @@ Dicatat bahwa ini tidak dapat dinonaktifkan setelah ini.</translation>
         <translation>Nheko tidak bisa terhubung ke penyimpanan aman untuk menyimpan rahasia enkripsi. Ini dapat memiliki beberapa alasan. Periksa apakah layanan D-Bus kamu berjalan dan kamu telah mengkonfigurasi layanan seperti KWallet, Gnome Keyring, KeePassXC atau yang setara untuk platform kamu. Jika kamu mengalami masalah, jangan ragu untuk membuka masalah di sini: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Ini kunci pemulihanmu. Kamu akan membutuhkannya untuk memulihkan akses ke pesan terenkripsi dan kunci verifikasimu. Simpan dengan aman. Jangan bagikan dengan siapa pun dan jangan sampai hilang! Jangan lewat! Jangan mengumpulkan Rp 200.000!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Penyiapan enkripsi berhasil</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Gagal untuk menyiapkan enkripsi: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Siapkan Enkripsi</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Halo dan selamat datang di Matrix!
-Sepertinya kamu baru di sini. Sebelum kamu dapat mengenkripsi pesanmu dengan aman, kami perlu menyiapkan beberapa hal. Kamu bisa langsung menekan terima atau menyesuaikan beberapa opsi dasar. Kami juga mencoba menjelaskan beberapa dasar-dasarnya. Kamu bisa melewatkan bagian-bagiannya, tetapi mereka mungkin terbukti membantu!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Aktifkan Enkripsi</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Sepertinya kamu telah mengkonfigurasi enkripsi untuk akun ini. Agar dapat mengakses pesan terenkripsi dan membuat perangkat ini tepercaya, kamu bisa memverifikasi perangkat yang ada atau (jika punya) memasukkan frasa sandi pemulihan. Silakan pilih salah satu opsi di bawah ini.
-Jika kamu memilih verifikasi, kamu harus memiliki perangkat lain yang tersedia. Jika kamu memilih &quot;masukkan frasa sandi&quot;, kamu memerlukan kunci pemulihan atau frasa sandi. Jika kamu mengklik batal, kamu dapat memilih untuk memverifikasi dirimu di lain waktu.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>verifikasi</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>masukkan frasa sandi</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Gagal membuat kunci untuk penandatanganan silang!</translation>
     </message>
@@ -3327,19 +1270,19 @@ Jika kamu memilih verifikasi, kamu harus memiliki perangkat lain yang tersedia.
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Gagal memperbarui paket gambar: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Gagal menghapus paket gambar yang lama: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Gagal membuka gambar: %1</translation>
     </message>
@@ -3350,97 +1293,10 @@ Jika kamu memilih verifikasi, kamu harus memiliki perangkat lain yang tersedia.
         <translation>Gagal mengunggah gambar: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Tambahkan atau hapus dari komunitas</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Komunitas resmi untuk ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Komunitas berafiliasi untuk ruangan ini</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Hanya didaftarkan untuk anggota komunitas</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Hanya didaftarkan untuk anggota ruangan</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Tidak terkait</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Subkomunitas</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Gagal</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Terkirim</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Diterima</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Dibaca</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Cari</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Verifikasi Berhasil</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verifikasi berhasil!  Kedua sisi telah memverifikasi perangkat mereka!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Tutup</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Reaksi pesan gagal: %1</translation>
@@ -3472,7 +1328,7 @@ Jika kamu memilih verifikasi, kamu harus memiliki perangkat lain yang tersedia.
         <translation>Simpan file</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3738,265 +1594,109 @@ Alasan: %4</translation>
     <message>
         <location line="+152"/>
         <source>%2 revoked the invite to %1.</source>
-        <translation>%2 membatalkan undangan ke %1.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation>%2 mengeluarkan %1.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation>%2 membatalkan cekalan %1.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 menolak ketukan dari %1.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 mengubah avatarnya.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 mengubah beberapa info profil.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 bergabung.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 bergabung via otorisasi dari servernya %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 menolak undangannya.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 meninggalkan ruangan.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Alasan: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 menolak ketukannya.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Kamu bergabung ruangan ini.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 membuat ruangan ini membutuhkan undangan untuk bergabung.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 mengundang %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 mengubah avatarnya dan ubah nama tampilannya ke %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 mengubah nama tampilannya ke %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 keluar setelah sudah keluar!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 mencekal %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 mengetuk.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Diedit</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Bagian dari sebuah utasan</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Tidak ada ruangan yang dibuka</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Tidak ada tampilan yang tersedia</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Pengaturan</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n anggota</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Tampilkan anggota %1</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>bergabung ke percakapan</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>terima undangan</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>tolak undangan</translation>
+        <translation>%2 membatalkan undangan ke %1.</translation>
     </message>
     <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Sembunyikan alasan undangan</translation>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
+        <translation>%2 mengeluarkan %1.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Tampilkan alasan undangan</translation>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
+        <translation>%2 membatalkan cekalan %1.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Kembali ke daftar ruangan</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 menolak ketukan dari %1.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Kembali ke daftar ruangan</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 mengubah avatarnya.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Tidak ada ruangan yang dipilih</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 mengubah beberapa info profil.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>Dalam %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 bergabung.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Tampilkan anggota ruangan.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 bergabung via otorisasi dari servernya %2.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Ruangan ini hanya berisi perangkat yang telah diverifikasi.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 menolak undangannya.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Ruangan ini berisi perangkat yang telah diverifikasi dan perangkat yang belum ganti kunci utama mereka.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 meninggalkan ruangan.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Ruangan ini berisi perangkat yang belum diverifikasi!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Alasan: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Tampilkan atau sembunyikan pesan yang dipasangi pin</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 menolak ketukannya.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Cari ruangan ini</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Kamu bergabung ruangan ini.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Opsi ruangan</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 membuat ruangan ini membutuhkan undangan untuk bergabung.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Undang pengguna</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 mengundang %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Anggota</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 mengubah avatarnya dan ubah nama tampilannya ke %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Tinggalkan ruangan</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 mengubah nama tampilannya ke %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Pengaturan</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 keluar setelah sudah keluar!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Lepaskan pin</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 mencekal %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Masukkan kueri pencarian</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 mengetuk.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Tampilkan</translation>
     </message>
@@ -4009,13 +1709,13 @@ Alasan: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Tidak ada alur pendaftaran yang tersedia!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Pendaftaran dibatalkan</translation>
@@ -4031,111 +1731,10 @@ Alasan: %4</translation>
         <translation>Token tidak valid</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Unggah %n file</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Profil Pengguna Global</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Profil Pengguna di Ruangan</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Ubah avatar secara global.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Ubah avatar. Hanya diterapkan di ruangan ini.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Ubah nama tampilan secara global.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Ubah nama tampilan. Hanya diterapkan di ruangan ini.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Ruangan: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Ini adalah profil spesifik ruangan. Nama pengguna dan avatar mungkin berbeda dari versi globalnya.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Buka profil global untuk pengguna ini.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Lakukan verifikasi</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Mulai chat privat.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Keluarkan pengguna ini.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Cekal pengguna ini.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Muat ulang daftar perangkat.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Keluarkan perangkat ini.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Ubah nama perangkat.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Terakhir dilihat %1 dari %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Hapus verifikasi</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Keluarkan perangkat %1</translation>
     </message>
@@ -4168,8 +1767,8 @@ Alasan: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Default</translation>
     </message>
@@ -4177,7 +1776,7 @@ Alasan: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Tema</translation>
     </message>
@@ -4246,6 +1845,11 @@ Alasan: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Urutkan ruangan bedasarkan yang belum dibaca</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4507,12 +2111,22 @@ Alasan: %4</translation>
         <translation>Ekspos informasi ruangan via D-Bus</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Default</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Tetapkan suara notifikasi untuk dimainkan ketika ada panggilan</translation>
     </message>
@@ -4585,7 +2199,21 @@ This will also enable or disable sending typing notifications to others.</source
 Ini akan mengaktifkan atau menonaktifkan pengiriman pemberitahuan pengetikan ke yang lain.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Tampilkan tombol untuk membalas, bereaksi, atau mengakses opsi tambahan di sebelah pesan dengan cepat.</translation>
     </message>
@@ -4639,17 +2267,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Ini biasanya menyebabkan ikon aplikasi di bilah tugas untuk beranimasi.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Bilah samping komunitas</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Tampilkan hitungan pesan untuk komunitas dan tag</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Tetapkan lebar pesan di lini masa (dalam pixel). Ini dapat membantu keterbacaan di layar lebar ketika Nheko dimaksimalkan</translation>
     </message>
@@ -4659,16 +2287,7 @@ Ini biasanya menyebabkan ikon aplikasi di bilah tugas untuk beranimasi.</transla
         <translation>Tampilkan sebuah kolom berisi komunitas dan tag di samping daftar ruangan.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Tampilkan ruangan dengan pesan baru terlebih dahulu.
-Jika dinonaktifkan, daftar ruangan hany akan diurutkan berdasarkan stempel waktu dari pesan terakhir di sebuah ruangan.
-Jika diaktifkan, ruangan yang memiliki notifikasi aktif (lingkaran kecil dengan nomor) akan diurutkan di atas. Ruangan yang kamu telah bisukan akan masih diurutkan berdasarkan stempel waktu, yang kamu tidak menganggapnya sebagai penting dengan ruangan yang lain.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4759,7 +2378,17 @@ This setting will take effect upon restart.</source>
 Pengaturan ini akan ditetapkan saat dimulai ulang.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Pilih sebuah file</translation>
     </message>
@@ -4769,7 +2398,7 @@ Pengaturan ini akan ditetapkan saat dimulai ulang.</translation>
         <translation>Semua File (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Buka File Sesi</translation>
     </message>
@@ -4811,117 +2440,18 @@ Pengaturan ini akan ditetapkan saat dimulai ulang.</translation>
         <translation>File untuk menyimpan kunci sesi yang telah diekspor</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>MINTA</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>UNDUH</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>DISIMPAN</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>TIDAK DISIMPAN</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Kembali</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPOR</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EKSPOR</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Tidak ada chat privat terenkripsi ditemukan dengan pengguna ini. Buat sebuah chat privat terenkripsi dengan pengguna ini dan coba lagi.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Menunggu untuk mengguna lain…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Menunggu untuk pengguna yang lain untuk menerima permintaan verifikasi.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Menunggu untuk pengguna lain untuk melanjutkan proses verifikasi.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Menunggu untuk pengguna lain untuk menyelesaikan proses verifikasi.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Batalkan</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Selamat datang di Nheko! Sebuah klien desktop untuk protokol Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Nikmati masa tinggalmu!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>DAFTAR</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>MASUK</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Kurangi animasi</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko menggunakan animasi di beberapa tempat untuk membuat hal-hal indah. Ini memungkinkanmu untuk menonaktifkannya jika mereka membuatmu pusing.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Kemarin</translation>
     </message>
@@ -4929,7 +2459,7 @@ Pengaturan ini akan ditetapkan saat dimulai ulang.</translation>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Buka Fallback di Peramban</translation>
     </message>
@@ -4950,32 +2480,52 @@ Pengaturan ini akan ditetapkan saat dimulai ulang.</translation>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Buka reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Orang</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Batalkan</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Alam</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Konfirmasi</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Makanan</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Selesaikan reCAPTCHAnya dan tekan tombol konfirmasi</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktivitas</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Tempat</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objek</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Simbol</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Bendera</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Kamu mengirim klip audio</translation>
     </message>
@@ -5036,25 +2586,25 @@ Pengaturan ini akan ditetapkan saat dimulai ulang.</translation>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Kamu: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>Kamu mengirim beberapa konfeti</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 mengirim beberapa konfeti</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_ie.ts b/resources/langs/nheko_ie.ts
index 4358c2186ce7fa2b28935b4fda1e62e3a4991b1d..4bb16cfede44a4ee29c97352b2f4ae642f0f53a4 100644
--- a/resources/langs/nheko_ie.ts
+++ b/resources/langs/nheko_ie.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ie">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,12 +166,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2646 +630,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InputBar</name>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>InviteDialog</name>
     <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3718,419 +1584,160 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Removed by %1 because: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
+        <location line="+2"/>
+        <source>Removed by %1 because: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <location line="+1"/>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4790,171 +2429,92 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>descriptiveTime</name>
     <message>
-        <location line="+19"/>
-        <source>Cancel</source>
+        <location filename="../../src/Utils.cpp" line="+208"/>
+        <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>dialogs::FallbackAuth</name>
     <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
+        <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
+        <location line="+1"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
+        <location line="+1"/>
+        <source>Confirm</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
-        <source>Yesterday</source>
+        <location line="+12"/>
+        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>dialogs::FallbackAuth</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
-        <source>Open Fallback in Browser</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Nature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
+        <location line="+2"/>
+        <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>dialogs::ReCaptcha</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Objects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Symbols</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Flags</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_it.ts b/resources/langs/nheko_it.ts
index c6710f2a1b38d5ffc314d489a1c4e95501d1f1b1..a2bf1196d52b3edc4e891eb6b2941796ea23fa11 100644
--- a/resources/langs/nheko_it.ts
+++ b/resources/langs/nheko_it.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="it">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Sto chiamando…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Connessione in corso...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Stai condividendo lo schermo.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Nascondi/Mostra Picture-in-Picture</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Riattiva Microfono</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Silenzia microfono</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Chiamata video</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Chiamata vocale</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Nessun microfono trovato.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Chiamata Video</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Chiamata audio</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Dispositivi</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Accetta</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Microfono sconosciuto: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Videocamera sconosciuta: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Rifiuta</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Nessun microfono trovato.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Schermo intero</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Impossibile invitare l&apos;utente: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Invitato utente: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>La cache in memoria appartiene ad una versione piú recente di quella supportata da Nheko. Per favore, aggiorna Nheko o cancella la cache.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Apertura del database fallita, disconnessione in corso!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Conferma Invito</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Vuoi veramente invitare %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Rimosso il ban dall&apos;utente: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Sei sicuro di voler avviare una chat privata con %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Migrazione della cache fallita!</translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Versione della cache incompatibile</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Impossibile ripristinare l&apos;account OLM. Per favore accedi nuovamente.</translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished">Tutte le stanze</translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2308 +630,548 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Decifra i segreti</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Inserisci la chiave di recupero o la parola chiave per decriptare i tuoi segreti:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Inserisci la tua chiave di recupero o la parola chiave chiamata %1 per decifrare i tuoi segreti:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Decrittazione fallita</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Fallita la decrittazione usando la chiave di recupero o la parola chiave fornita</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">Tutti i File (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Hai inserito un ID Matrix non valido, es @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Nome</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Ricerca automatica fallita. Ricevuta risposta malformata.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Ricerca automatica fallita. Errore ignoto durante la richiesta di .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Gli endpoint richiesti non sono stati trovati. Forse non è un server Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Ricevuta risposta malformata. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Argomento</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Avvenuto un errore sconosciuto. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Alias</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>ACCESSO SSO</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Decifra i segreti</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Password vuota</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Inserisci la chiave di recupero o la parola chiave per decriptare i tuoi segreti:</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Accesso SSO fallito</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Inserisci la tua chiave di recupero o la parola chiave chiamata %1 per decifrare i tuoi segreti:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished">Impossibile inviare il file multimediale. Per favore riprova.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Decrittazione fallita</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation type="unfinished">%1 ha inviato un messaggio criptato</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Fallita la decrittazione usando la chiave di recupero o la parola chiave fornita</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>Risposta di %1: %2</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Codice di verifica</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 ha risposto con un messaggio criptato</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Verificare i seguenti numeri.  Dovresti vedere gli stessi numeri da entrambi i lati.  Se differiscono, premi &apos;Sono diversi!&apos; per annullare la verifica!</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Non corrispondono!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Corrispondono!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Cerca</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Membri</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Natura</translation>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Cibo</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Attività</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Viaggi</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Oggetti</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Simboli</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Bandiere</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Codice di Verifica</translation>
+        <location line="+2"/>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Prego verificare le seguenti emoji. Dovresti vedere le stesse emoji su ambo i lati. Se sono diverse, premi &apos;Non Corrispondono!&apos; per annullare la verifica!</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Non corrispondono!</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Corrispondono!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Questo messaggio non è crittato!</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Criptato da un dispositivo verificato</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Criptato da un dispositivo non verificato ma hai già verificato questo utente.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verifica fallita</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Tempo di verifica del dispositivo scaduto.</translation>
+        <source>Negotiate a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>L&apos;altra parte ha annullato la verifica.</translation>
+        <source>Answer a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Chiudi</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Inoltra Messaggio</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
+        <location line="+1"/>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Send</source>
+        <translation type="unfinished">Invia</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">Scrivi un messaggio…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished">Ricerca automatica fallita. Ricevuta risposta malformata.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished">Ricerca automatica fallita. Errore ignoto durante la richiesta di .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished">Gli endpoint richiesti non sono stati trovati. Forse non è un server Matrix.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Ricevuta risposta malformata. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Avvenuto un errore sconosciuto. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished">Modifica</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">Chiudi</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">Tutti i File (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Annulla</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">ID della stanza o alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Lascia la stanza</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">Sei sicuro di voler uscire?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>ID Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>es. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Password</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>La tua password.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nome del dispositivo</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Indirizzo Homeserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.my:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ACCEDI</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Hai inserito un ID Matrix non valido, es @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Ricerca automatica fallita. Ricevuta risposta malformata.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Ricerca automatica fallita. Errore ignoto durante la richiesta di .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Gli endpoint richiesti non sono stati trovati. Forse non è un server Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Ricevuta risposta malformata. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Avvenuto un errore sconosciuto. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>ACCESSO SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Password vuota</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Accesso SSO fallito</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished">Impossibile inviare il file multimediale. Per favore riprova.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 creato e configurata stanza: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 ha avviato una chiamata audio.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 ha risposto alla chiamata.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 ha terminato la chiamata.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Termina</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Avvia una chiamata</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished">Invia un file</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Scrivi un messaggio…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished">Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Invia</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Non hai i permessi per inviare messaggi in questa stanza</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Modifica</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reagisci</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished">Risposta</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished">Opzioni</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished">Mostra il messaggio grezzo</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished">Mostra il messaggio grezzo decriptato</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Invia richiesta di verifica</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Richiesta di verifica ricevuta</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Per assicurati che nessun malintenzionato intercetti le tue telefonate crittate, puoi verificare l&apos;altra parte.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 ha richiesto di verificare il dispositivo %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Il tuo dispositivo (%1) ha richiesto di essere verificato.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Annulla</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Nega</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Inizia verifica</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Accetta</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished">%1 ha inviato un messaggio criptato</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>Risposta di %1: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 ha risposto con un messaggio criptato</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished">Nessun microfono trovato.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Annulla</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>evento non implementato: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Invia</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Scrivi un messaggio…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished">Ricevute di lettura</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nome utente</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Il nome utente non deve essere vuoto e deve contenere solo i caratteri a-z, 0-9, ., _, =, -, e /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Password</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Per favore scegli una password sicura. I requisiti di robustezza della password potrebbero dipendere dal server.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Conferma della password</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Homeserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Un server che consente la registrazione. Siccome matrix è decentralizzata, devi prima trovare un server su cui registrarti o ospitarne uno tuo.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Nome del dispositivo</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTRATI</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished">Ricerca automatica fallita. Ricevuta risposta malformata.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished">Ricerca automatica fallita. Errore ignoto durante la richiesta di .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished">Gli endpoint richiesti non sono stati trovati. Forse non è un server Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Ricevuta risposta malformata. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Avvenuto un errore sconosciuto. Assicurati che il dominio dell&apos;homeserver sia valido.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Chiudi</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>nessuna versione memorizzata</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Lascia la stanza</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished">stanza come:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished">preferiti</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished">Disconnettiti</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">Chiudi</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished">Inizia una nuova discussione</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished">Entra in una stanza</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished">Elenco delle stanze</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished">Impostazioni utente</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished">Crittografia End-to-End</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>nessuna versione memorizzata</translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
         <source>Failed to enable encryption: %1</source>
         <translation type="unfinished">Impossibile abilitare la crittografia: %1</translation>
     </message>
     <message>
-        <location line="+344"/>
+        <location line="+404"/>
         <source>Select an avatar</source>
         <translation type="unfinished">Scegli un avatar</translation>
     </message>
@@ -3120,7 +1200,7 @@ Example: https://server.my:8787</source>
 <context>
     <name>RoomlistModel</name>
     <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
         <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3134,93 +1214,16 @@ Example: https://server.my:8787</source>
         <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Annulla</translation>
-    </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3230,60 +1233,10 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3293,143 +1246,56 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Fallito</translation>
-    </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Inviato</translation>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Ricevuto</translation>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Letto</translation>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished">Cerca</translation>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Chiudi</translation>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Oscuramento del messaggio fallito: %1</translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Salva file</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3734,403 +1600,144 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 ha cambiato il suo avatar.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 è entrato.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 ha rifiutato il suo invito.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 ha lasciato la stanza.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 ha oscurato la sua bussata.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Sei entrato in questa stanza.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 è uscito dopo essere già uscito!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 ha bussato.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Nessuna stanza aperta</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Impostazioni</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished">Opzioni della stanza</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Utenti invitati</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished">Membri</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Lascia la stanza</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Impostazioni</translation>
-    </message>
-    <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TrayIcon</name>
-    <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
-        <translation>Rivela</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Quit</source>
-        <translation>Esci</translation>
-    </message>
-</context>
-<context>
-    <name>UIA</name>
-    <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 ha cambiato il suo avatar.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 è entrato.</translation>
     </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation type="unfinished"></translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 ha rifiutato il suo invito.</translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation type="unfinished"></translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 ha lasciato la stanza.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 ha oscurato la sua bussata.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Sei entrato in questa stanza.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation type="unfinished"></translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 è uscito dopo essere già uscito!</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 ha bussato.</translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
+        <translation>Rivela</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Quit</source>
+        <translation>Esci</translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+50"/>
         <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location line="+165"/>
+        <source>Invalid token</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UserProfile</name>
+    <message>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Tema</translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Ordina stanze per non letti</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">Seleziona un file</translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Tutti i File (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Apri File delle Sessioni</translation>
     </message>
@@ -4790,117 +2429,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">File ove salvare le chiavi di sessione esportate</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTA</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>ESPORTA</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Annulla</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Benvenuto su nheko! Il client desktop per il protocollo Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Goditi la permanenza!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTRATI</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ACCEDI</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Ieri</translation>
     </message>
@@ -4908,7 +2448,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Apertura di Ripiego nel Browser</translation>
     </message>
@@ -4929,32 +2469,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Membri</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Annulla</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Natura</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Conferma</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Cibo</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Risolvi il reCAPTCHA e premi il pulsante di conferma</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Attività</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Viaggi</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Oggetti</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Simboli</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Bandiere</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Hai inviato una clip audio</translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Tu: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_ja.ts b/resources/langs/nheko_ja.ts
index 55cf649f2344a1378181ae7a79eb66b87dd3d7bf..f917cd300716eb9f4edbc8683e0a935b470fc275 100644
--- a/resources/langs/nheko_ja.ts
+++ b/resources/langs/nheko_ja.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ja_JP">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>画面を共有しています</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>非表示/表示 ピクチャー・イン・ピクチャー</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -138,76 +28,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
+    <name>CallManager</name>
     <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>ボイスコール</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished">マイクが見つかりませんでした。</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>ボイスコール</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>デバイス一覧</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished">容認</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>不明なマイク: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>不明なカメラ: %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation type="unfinished">拒否</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>マイクが見つかりませんでした。</translation>
-    </message>
-</context>
-<context>
-    <name>CallManager</name>
-    <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>全画面</translation>
     </message>
@@ -215,18 +54,26 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>ユーザーを招待できませんでした: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>招待されたユーザー: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -236,7 +83,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -267,12 +114,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -317,12 +164,12 @@
         <translation>永久追放を解除されたユーザー: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -344,7 +191,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>OLMアカウントを復元できませんでした。もう一度ログインして下さい。</translation>
     </message>
@@ -417,16 +264,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -537,6 +379,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -678,47 +530,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished">全ての部屋</translation>
     </message>
@@ -768,7 +607,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -789,2340 +628,583 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>GridImagePackModel</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HiddenEvents</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
+    <message>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">全てのファイル (*)</translation>
+    </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">名前</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>自動検出できませんでした。不正な形式の応答を受信しました。</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>自動検出できませんでした。.well-known要求時の不明なエラー。</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>必要な端点が見つかりません。Matrixサーバーではないかもしれません。</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>不正な形式の応答を受信しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">話題</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>不明なエラーが発生しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">別名</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>パスワードが入力されていません</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished">メディアをアップロードできませんでした。やり直して下さい。</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation type="unfinished">%1が暗号化されたメッセージを送信しました</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation type="unfinished">活動</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation type="unfinished">物</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation type="unfinished">記号</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation type="unfinished">æ——</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation type="unfinished">閉じる</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
+    <name>QObject</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="+1"/>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
+        <source>Write a message...</source>
+        <translation type="unfinished">メッセージを書く...</translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>RegisterPage</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished">自動検出できませんでした。不正な形式の応答を受信しました。</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished">自動検出できませんでした。.well-known要求時の不明なエラー。</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished">必要な端点が見つかりません。Matrixサーバーではないかもしれません。</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">不正な形式の応答を受信しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">不明なエラーが発生しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>バージョンが保存されていません</translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation type="unfinished">暗号化を有効にできませんでした: %1</translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation type="unfinished"></translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation type="unfinished">アバターを選択</translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">全てのファイル (*)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation type="unfinished">選択したファイルは画像ではありません</translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation type="unfinished">ファイルの読み込み時にエラーが発生しました: %1</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation type="unfinished">画像をアップロードできませんでした: %s</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
+    <name>RoomlistModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">閉じる</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">全てのファイル (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">部屋のID又は別名</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">部屋を出る</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">本当に退出しますか?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>例 @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>パスワード</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>デバイス名</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ログイン</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>自動検出できませんでした。不正な形式の応答を受信しました。</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>自動検出できませんでした。.well-known要求時の不明なエラー。</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>必要な端点が見つかりません。Matrixサーバーではないかもしれません。</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>不正な形式の応答を受信しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>不明なエラーが発生しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>パスワードが入力されていません</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished">メディアをアップロードできませんでした。やり直して下さい。</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished">ファイルを送信</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">メッセージを書く...</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished">絵文字</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished">返信</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished">オプション</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished">ソースを見る</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished">容認</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished">%1が暗号化されたメッセージを送信しました</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished">マイクが見つかりませんでした。</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>未実装のイベント: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">メッセージを書く...</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished">開封確認</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>ユーザー名</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>パスワード</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>パスワード確認</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">デバイス名</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>登録</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished">自動検出できませんでした。不正な形式の応答を受信しました。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished">自動検出できませんでした。.well-known要求時の不明なエラー。</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished">必要な端点が見つかりません。Matrixサーバーではないかもしれません。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">不正な形式の応答を受信しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">不明なエラーが発生しました。ホームサーバーのドメイン名が有効であるかを確認して下さい。</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished">閉じる</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>バージョンが保存されていません</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">部屋を出る</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished">ログアウト</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">閉じる</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished">新しいチャットを開始</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished">部屋に参加</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished">部屋一覧</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished">ユーザー設定</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished">エンドツーエンド暗号化</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished">暗号化を有効にできませんでした: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished">アバターを選択</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">全てのファイル (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished">選択したファイルは画像ではありません</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished">ファイルの読み込み時にエラーが発生しました: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished">画像をアップロードできませんでした: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -3130,93 +1212,16 @@ Example: https://server.my:8787</source>
         <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
-    </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3226,206 +1231,69 @@ Example: https://server.my:8787</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>失敗</translation>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>送信済み</translation>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>受信済み</translation>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>既読</translation>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation type="unfinished">閉じる</translation>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>メッセージを編集できませんでした: %1</translation>
@@ -3457,7 +1325,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>ファイルを保存</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3725,401 +1593,144 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1がアバターを変更しました。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1が参加しました。</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1が招待を拒否しました。</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1は退室しました。</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1がノックを編集しました。</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished">退出済みの%1が退出しました!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1がノックしました。</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>部屋が開いていません</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">設定</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished">部屋のオプション</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished">ユーザーを招待</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished">メンバー</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">部屋を出る</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation type="unfinished">設定</translation>
-    </message>
-    <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TrayIcon</name>
-    <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
-        <translation>表示</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Quit</source>
-        <translation>終了</translation>
-    </message>
-</context>
-<context>
-    <name>UIA</name>
-    <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1がアバターを変更しました。</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1が参加しました。</translation>
     </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation type="unfinished"></translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1が招待を拒否しました。</translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation type="unfinished"></translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1は退室しました。</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1がノックを編集しました。</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation type="unfinished"></translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation type="unfinished">退出済みの%1が退出しました!</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1がノックしました。</translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
+        <translation>表示</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Quit</source>
+        <translation>終了</translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+50"/>
         <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4152,8 +1763,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4161,7 +1772,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">テーマ</translation>
     </message>
@@ -4230,6 +1841,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4491,12 +2107,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4565,7 +2191,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4617,17 +2257,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4637,14 +2277,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4727,7 +2360,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">ファイルを選択</translation>
     </message>
@@ -4737,7 +2380,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">全てのファイル (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">セッションファイルを開く</translation>
     </message>
@@ -4779,117 +2422,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">エクスポートされたセッション鍵を保存するファイル</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>インポート</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>エクスポート</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Matrixプロトコルのデスクトップクライアント、nhekoへようこそ!</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>会話を楽しんで下さい!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>登録</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ログイン</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>昨日</translation>
     </message>
@@ -4897,7 +2441,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4918,32 +2462,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>確認</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>reCAPTCHAに解答して、確認ボタンを押して下さい</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">活動</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">物</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">記号</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">æ——</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>音声データを送信しました</translation>
     </message>
@@ -5004,24 +2568,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>あなた: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_ml.ts b/resources/langs/nheko_ml.ts
index 0a912b3a9e28d360bd0404b640419c667cdbe139..4b4bd943f722eb1de729d03e42318082fea1d51d 100644
--- a/resources/langs/nheko_ml.ts
+++ b/resources/langs/nheko_ml.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ml">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>വിളിക്കുന്നു...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>ബന്ധിപ്പിക്കുന്നു...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>നിങ്ങൾ സ്ക്രീൻ പങ്കിടുന്നു</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>മൈക്ക് നിശബ്ദമാക്കുക</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished">ചേർക്കുക</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>വീഡിയോ കോൾ</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>വോയ്സ് കോൾ</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>മൈക്രോഫോൺ കണ്ടെത്തിയില്ല.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>വീഡിയോ കോൾ</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>വോയ്സ് കോൾ</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>ഉപകരണങ്ങൾ</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>സ്വീകരിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>അജ്ഞാത മൈക്രോഫോൺ:% 1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>അജ്ഞാത ക്യാമറ:% 1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>നിരസിക്കുക</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>മൈക്രോഫോണൊന്നും കണ്ടെത്തിയില്ല.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>മുഴുവൻ സ്ക്രീൻ</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>ഉപയോക്താവിനെ ക്ഷണിക്കുന്നതിൽ പരാജയപ്പെട്ടു: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>ക്ഷണിച്ച ഉപയോക്താവ്:% 1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>ക്ഷണം ഉറപ്പാക്കു</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,12 +166,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished">എല്ലാ മുറികളും</translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2646 +630,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>GridImagePackModel</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HiddenEvents</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
+    <message>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>എല്ലാ ഫയലുകളും (*)</translation>
+    </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">പേര്</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">വിഷയം</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>എസ് എസ് ഓ ലോഗിൻ</translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Empty password</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
-    <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>ഉറപ്പാക്കൽ കോഡ്</translation>
-    </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>അവ പൊരുത്തപ്പെടുന്നില്ല!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>അവ പൊരുത്തപ്പെടുന്നു!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>തിരയുക</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>ആളുകൾ</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>പ്രകൃതി</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>ഭക്ഷണം</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>പ്രവർത്തനം</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>യാത്ര</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>സാധനങ്ങൾ</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>ചിഹ്നങ്ങൾ</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>പതാകകൾ</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>ഉറപ്പാക്കൽ കോഡ്</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>അവ പൊരുത്തപ്പെടുന്നില്ല!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation type="unfinished">അവ പൊരുത്തപ്പെടുന്നു!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>കീ അഭ്യർ</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>ഉറപ്പാക്കൽ പരാജയപ്പെട്ടു</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>അടയ്‌ക്കുക</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>പ്രൊഫൈൽ</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
+        <source>Send</source>
+        <translation type="unfinished">അയക്കുക</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation type="unfinished">സ്റ്റിക്കറുകൾ</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">ഒരു സന്ദേശം എഴുതുക….</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>ചിത്രങ്ങൾ ചേർക്കുക</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>പാക്കിന്റെ പേര്</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>ഇമോജി ആയി ഉപയോഗിക്കുക</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>സ്റ്റിക്കറായി ഉപയോഗിക്കുക</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>നീക്കം ചെയ്യുക</translation>
-    </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>അക്കൗണ്ട് പാക്ക് സൃഷ്ടിക്കുക</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>പുതിയ മുറി പാക്ക്</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">എല്ലാ ഫയലുകളും (*)</translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Private pack</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished">തിരുത്തുക</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">അടയ്‌ക്കുക</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>എല്ലാ ഫയലുകളും (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>%1 - ലേക്ക് ഉപയോക്താക്കളെ ക്ഷണിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>ക്ഷണിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">റദ്ദാക്കു</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>ഉദാ. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>പാസ്‍വേഡ്</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>ഉപകരണത്തിന്റെ പേര്</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>പ്രവേശിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>എസ് എസ് ഓ ലോഗിൻ</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>ഇവരെ അനുവദിക്കുക</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>ഒരു ഫയൽ അയയ്ക്കുക</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>ഒരു സന്ദേശം എഴുതുക….</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>സ്റ്റിക്കറുകൾ</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>ഇമോജി</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>അയക്കുക</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>തിരുത്തുക</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>മറുപടി നൽകുക</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;വായിച്ചതായി കാണിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>റദ്ദാക്കു</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>നിരസിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>സ്വീകരിക്കുക</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>മൈക്രോഫോണൊന്നും കണ്ടെത്തിയില്ല.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>റദ്ദാക്കു</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished">ചേർക്കുക</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>പ്രൊഫൈൽ</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">അയക്കുക</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">ഒരു സന്ദേശം എഴുതുക….</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished">പാസ്‍വേഡ്</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">ഉപകരണത്തിന്റെ പേര്</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished">അടയ്‌ക്കുക</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">അടയ്‌ക്കുക</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">എല്ലാ ഫയലുകളും (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">റദ്ദാക്കു</translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished">തിരയുക</translation>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation type="unfinished">അടയ്‌ക്കുക</translation>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3724,413 +1590,154 @@ If you choose verify, you need to have the other device available. If you choose
     </message>
     <message>
         <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished">നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation type="unfinished">നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">ഒരു ഫയൽ തിരഞ്ഞെടുക്കുക</translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">എല്ലാ ഫയലുകളും (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4790,117 +2429,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation type="unfinished">റദ്ദാക്കു</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation type="unfinished">പ്രവേശിക്കുക</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4908,7 +2448,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4929,32 +2469,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">ആളുകൾ</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation type="unfinished">റദ്ദാക്കു</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">പ്രകൃതി</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">ഭക്ഷണം</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">പ്രവർത്തനം</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">യാത്ര</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">സാധനങ്ങൾ</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">ചിഹ്നങ്ങൾ</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">പതാകകൾ</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished">%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_nl.ts b/resources/langs/nheko_nl.ts
index 49dadbb344adba570506c6ace75667a4e6c377f1..9ea8fe8dee46c27b95cf5211f104cbdc2f168197 100644
--- a/resources/langs/nheko_nl.ts
+++ b/resources/langs/nheko_nl.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="nl_NL">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Bellen…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Verbinden…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Scherm wordt gedeeld.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Toon/verberg miniatuur</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Microfoon aanzetten</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Microfoon dempen</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Kon aliassen niet bijwerken: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Aliassen voor %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>List van aliassen voor deze kamer. Normaal kan je alleen aliassen toevoegen op je eigen server. Je kan een enkele primaire alias hebben en meerdere secundaire aliassen.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Primaire alias</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Primaire alias maken</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Als alias in deze kamer publiceren</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Publiceer in kamerlijst</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Verwijder deze alias</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#nieuwe-alias:server.domein</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Toevoegen</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Instellingen voor toegestane kamers</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Lijst van kamers die toegang tot deze kamer verlenen. Iedereen in eender van deze kamers kan deze kamer binnentreden.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Moedergemeenschap</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Andere kamer</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Voer verdere kamers toe die nog niet in de lijst staan...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 en %n ander</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Lege kamer</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Video oproep</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Audio oproep</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Geen microfoon gevonden.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Video oproep</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Audio oproep</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Apparaten</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Aanvaarden</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Onbekende microfoon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Onbekende camera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Afwijzen</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Geen microfoon gevonden.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Gehele scherm</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Gebruiker uitnodigen mislukt: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Gebruiker uitgenodigd: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Bevestig uitloggen</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>De opgeslagen gegevens van Nheko zijn nieuwer dan de versie die je nu draait. Update Nheko of verwijder de gegevens.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Kon database niet openen, je wordt uitgelogd!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Bevestig uitnodiging</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Weet je zeker dat je %1 (%2) wil uitnodigen?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Toegelaten gebruiker: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Weet je zeker dat je een privé chat wil beginnen met %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Migreren van de cache is mislukt!</translation>
     </message>
@@ -347,7 +195,7 @@ Als je denkt dat dit een fout is, kan je Nheko sluiten om mogelijk je versleutel
         <translation>Incompatibele cacheversie</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Herstellen van OLM account mislukt. Log a.u.b. opnieuw in.</translation>
     </message>
@@ -421,16 +269,11 @@ Je kan optioneel hier een reden invoeren dat je aanklopt:</translation>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Voer reden voor het verbannen van %1 (%2) in of druk op enter voor geen reden:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Geen netwerkverbinding</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;bericht&gt;</translation>
     </message>
@@ -541,6 +384,16 @@ Je kan optioneel hier een reden invoeren dat je aanklopt:</translation>
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -680,6 +533,16 @@ Je kan optioneel hier een reden invoeren dat je aanklopt:</translation>
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Verstuur een bericht in regenboogkleuren met confetti.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -696,33 +559,10 @@ Je kan optioneel hier een reden invoeren dat je aanklopt:</translation>
         <translation>Zet deze kamer om van een een-op-een chat naar een normale kamer.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Laat geen meldingteller zien voor deze groep of markering.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Verberg standaard kamers met deze markering of uit deze groep.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Uitvouwen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Invouwen</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Alle kamers</translation>
     </message>
@@ -772,7 +612,7 @@ Je kan optioneel hier een reden invoeren dat je aanklopt:</translation>
         <translation>Berichten van je server of beheerder.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Kon groep niet bijwerken: %1</translation>
     </message>
@@ -793,2442 +633,600 @@ Je kan optioneel hier een reden invoeren dat je aanklopt:</translation>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Bevestig groep binnentreden</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Ontsleutel geheimen</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Bevestig kamer binnentreden</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Voer je herstelsleutel of wachtwoordzin in om je geheimen te ontsleutelen:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n deelnemer</numerusform>
-            <numerusform>%n deelnemers</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Voer je herstelsleutel of wachtwoordzin in met de naam %1 om je geheimen te ontsleutelen:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Wil je deze kamer binnentreden? Je kan optioneel hieronder een reden opgeven:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Ontsleutelen mislukt</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Deze kamer is niet direct begaanbaar. Je kan echter aankloppen en deelnemers aan de kamer kunnen je verzoek dan inwilligen of afwijzen. Je kan optioneel hieronder nog een reden opgeven:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Geheimen konden niet worden ontsleuteld met de gegeven herstelsleutel of wachtwoordzin</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Aankloppen</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Kon verborgen gebeurtenissen niet instellen: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Binnentreden</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Maak een privéchat</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Kon verborgen gebeurtenissen niet instellen: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Gebruiker om uit te nodigen</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Alle bestanden (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@gebruiker:server.domein</translation>
+        <location line="+0"/>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Versleuteling</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Versturen van &apos;%1&apos; misluk</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Kamer aanmaken</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Je hebt een ongeldige Matrix ID ingevuld. Correct voorbeeld: @jan:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Naam</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Automatische herkenning mislukt. Ongeldig antwoord ontvangen.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Nieuwe groep</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Automatische herkenning mislukt. Onbekende fout tijdens het opvragen van .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Nieuwe kamer</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>De vereiste aanspreekpunten werden niet gevonden. Mogelijk geen Matrix server.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Naamloos</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Ongeldig antwoord ontvangen. Zorg dat de thuisserver geldig is.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Onderwerp</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Een onbekende fout trad op. Zorg dat de thuisserver geldig is.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Onderwerploos</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>De gekozen server ondersteund geen Matrix, of ieder geval geen versie die Nheko begrijpt (v1.1 tot v1.5). Je kan dus niet inloggen.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Inloggen met Apple</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Publiek</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Verder met Facebook</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Publieke kamers zijn voor iedereen begaanbaar; privékamers vereisen een uitnodiging.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Inloggen met Google</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Vertrouwd</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Inloggen met Twitter</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Alle uitgenodigde deelnemers krijgen hetzelfde machtsniveau als de maker</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Inloggen met %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Versleuteling</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO INLOGGEN</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Let op: Versleuteling kan niet later worden uitgeschakeld</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Leeg wachtwoord</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO inloggen mislukt</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Ontsleutel geheimen</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Het is niet is gelukt om de media te versturen. Probeer het a.u.b. opnieuw.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Voer je herstelsleutel of wachtwoordzin in om je geheimen te ontsleutelen:</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Voer je herstelsleutel of wachtwoordzin in met de naam %1 om je geheimen te ontsleutelen:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 stuurde een versleuteld bericht</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Ontsleutelen mislukt</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 antwoordde: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Geheimen konden niet worden ontsleuteld met de gegeven herstelsleutel of wachtwoordzin</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 antwoordde met een versleuteld bericht</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verificatiecode</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 antwoordde op een bericht</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Controleer de volgende getallen.  Je zou dezelfde getallen moeten zien aan beide kanten.  Druk als ze verschillen op &apos;Ze komen niet overeen!&apos; om de verificatie te annuleren!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 stuurde een bericht</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Ze komen niet overeen!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Kon machtsniveau niet bewerken: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ze zijn gelijk!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Kon machtsniveau niet bewerken: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Zoeken</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Andere evenementen</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Mensen</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Andere statusevenementen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Natuur</translation>
+        <source>Remove other users</source>
+        <translation>Verwijder andere gebruikers</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Eten</translation>
+        <source>Ban other users</source>
+        <translation>Verban andere gebruikers</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Activiteiten</translation>
+        <source>Invite other users</source>
+        <translation>Andere gebruikers uitnodigen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Reizen</translation>
+        <source>Redact events sent by others</source>
+        <translation>Berichten intrekken die verstuurd waren door anderen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objecten</translation>
+        <source>Reactions</source>
+        <translation>Reacties</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symbolen</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Verouderde aliasgebeurtenissen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Vlaggen</translation>
+        <source>Change the room avatar</source>
+        <translation>Verander de kamerafbeelding</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verificatiecode</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Veranderen van de kameradressen</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Vergelijk de volgende emoji. Je zou dezelfde moeten zien aan beide kanten. Als ze verschillen, druk dan op &apos;Ze komen niet overeen!&apos; om de verificatie te annuleren!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Versturen van versleutelde berichten</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>De weergegeven emoji kunnen er anders uit zien als bijvoorbeeld een ander lettertype wordt gebruikt. Ze kunnen ook vertaald zijn in andere talen. Hoe dan ook moeten ze één van 64 verschillende objecten of dieren weergeven. Bijvoorbeeld een leeuw en een kat zijn verschillend, maar een kat is een kat - ook als er bij de ene applicatie een kattengezicht verschijnt maar bij de andere een volledig kattenlichaam.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Versleuteling inschakelen</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Ze komen niet overeen!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Gasttoegang aanpassen</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Ze zijn gelijk!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Zichtbaarheid van de geschiedenis aanpassen</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Er is geen sleutel om dit bericht te ontsleutelen. We hebben de sleutel aangevraagd, maar je kan het opnieuw proberen als je ongeduldig bent.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Aanpassen wie de kamer mag binnentreden</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Het bericht kon niet worden ontsleuteld, omdat we alleen een sleutel hebben voor nieuwere berichten. Je kan proberen toegang tot dit bericht aan te vragen.</translation>
+        <source>Send messages</source>
+        <translation>Berichten versturen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Er was een interne fout bij het lezen van de sleutel uit de database.</translation>
+        <source>Change the room name</source>
+        <translation>Veranderen van de kamernaam</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Er was een fout bij het ontsleutelen van dit bericht.</translation>
+        <source>Change the room permissions</source>
+        <translation>Aanpassen van de kamer machtsniveaus</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Het bericht kon niet worden verwerkt.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Veranderen van het kameronderwerp</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>De versleuteling was herbruikt! Wellicht probeert iemand vervalsde berichten in dit gesprek te injecteren!</translation>
+        <source>Change the widgets</source>
+        <translation>Veranderen van de widgets</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Onbekende ontsleutelingsfout</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Veranderen van de widgets (experimenteel)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Vraag sleutel aan</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Intrekken van eigen gebeurtenissen</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Vastgeprikte gebeurtenissen veranderen</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>De kamerversie verhogen</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Dit bericht is niet versleuteld!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Stickers versturen</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Versleuteld door een geverifieerd apparaat</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Gebruikers verbannen via beleidsregels</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Versleuteld door een ongeverifieerd apparaat, maar je hebt de gebruiker tot nu toe vertrouwd.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Kamers verbannen via beleidsregels</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Versleuteld door een ongeverifieerd apparaat of de sleutel komt van een niet te vertrouwen bron zoals een reservesleutel.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Servers verbannen via beleidsregels</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verificatie mislukt</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Pas kindgroepen en kamers aan</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>De andere kant ondersteunt ons verificatieprotocol niet.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Pas moedergroepen aan</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Verschil in sleutels gedetecteerd!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Een beeld- of geluidsgesprek beginnen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Apparaatverificatie is verlopen.</translation>
+        <source>Negotiate a call</source>
+        <translation>Een beeld- of geluidsgesprek onderhandelen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>De andere kant heeft de verificatie geannuleerd.</translation>
+        <source>Answer a call</source>
+        <translation>Een beeld- of geluidsgesprek opnemen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Verificatieberichten in verkeerde volgorde ontvangen!</translation>
+        <source>Hang up a call</source>
+        <translation>Een beeld- of geluidsgesprek ophangen</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Onbekende verificatiefout.</translation>
+        <source>Reject a call</source>
+        <translation>Gesprek weigeren</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Sluiten</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>De kamer emotes aanpassen</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Bericht doorsturen</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Andere gebruikers</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Kon verborgen gebeurtenissen niet instellen: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Maak een uniek profiel, waardoor je tegelijk meerdere kopieën van Nheko kan draaien en zo op meerdere gebruikers tegelijk ingelogd kan zijn.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Verborgen gebeurtenissen voor %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profiel</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Verborgen gebeurtenissen</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>profielnaam</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Deze gebeurtenissen zullen &lt;b&gt;getoond&lt;/b&gt; worden in %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Alias voor &apos;--log-level trace&apos;.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Deze gebeurtenissen zullen &lt;b&gt;getoond&lt;/b&gt; worden in alle kamers:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Stelt het globale logniveau in, of een komma-gescheiden lijst van &lt;component&gt;=&lt;niveau&gt; paren, of beide. Om bijvoorbeeld het huidige logniveau op &apos;warn&apos; te zetten maar logs uit te schakelen voor het &apos;ui&apos; component, voer je &apos;warn,ui=off&apos; in. Niveaus zijn: {trace,debug,info,warning,error,critical,off} en componenten zijn: {crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Gebruikersgebeurtenissen</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>niveau</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Binnenkomen, vertrekken, avatar- en naamsveranderingen, verbanningen, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Stel het uitvoertype voor logs in. Een spatie-gescheiden lijst is toegestaan. De standaardwaarde is &apos;file,stderr&apos;. Mogelijke types zijn: {file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Gebruikersrechtenveranderingen</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>type</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Antwoorden</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Verstuurd wanneer een beheerder wordt toegevoegd/verwijderd of de rechten van een kamer worden aangepast.</translation>
+        <source>Send</source>
+        <translation>Verstuur</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Stickers</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Typ een bericht…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Afbeeldingspakket aanpassen</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Gisteren, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Afbeeldingen toevoegen</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Automatische herkenning mislukt. Onjuist gevormd antwoord ontvangen.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Afbeeldingen (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Automatische herkenning mislukt. Onbekende fout bij opvragen van .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Selecteer afbeeldingen voor pakket</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>De vereiste aanspreekpunten konden niet worden gevonden. Mogelijk geen Matrix server.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Toevoegen aan pakket</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Onjuist gevormd antwoord ontvangen. Zorg dat de thuisserver geldig is.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Pas het icoon voor dit pakket aan</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Een onbekende fout trad op. Zorg dat de thuisserver geldig is.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Icoon afbeelding (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>De gekozen server ondersteunt geen Matrixversie die Nheko begrijpt (v1.1 tot v1.5). Je kan dus niet registeren.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Kies icoon afbeelding voor pakket</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>De server ondersteund het opvragen van registratiemethodes niet!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Staatsleutel</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>De server ondersteund registreren niet.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Afbeeldingspakketnaam</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Ongeldige gebruikersnaam.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Bronvermelding</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Gebruik als emoji</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Gebruik als sticker</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Shortcode</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Tekstinhoud</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Verwijder uit afbeeldingspakket</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Verwijder</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Afbeeldingspakketinstellingen</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Maak pakket voor je eigen account aan</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Nieuw afbeeldingspakket voor kamer</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Privé afbeeldingspakket</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Afbeeldingspakket uit deze kamer</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Pakket van een groepsouder</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Globaal geactiveerd afbeeldingspakket</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Globaal activeren</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Activeert dit afbeeldingspakket voor gebruik in alle kamers</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Bewerken</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Sluiten</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Alle bestanden (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Versturen van &apos;%1&apos; misluk</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Nodig gebruikers uit naar %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@jan:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Zoek gebruiker</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Zoek op server</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Uitnodigen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Annuleren</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Ga kamer binnen</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>Kamer ID of alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Binnentreden</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Kamer verlaten</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Weet je zeker dat je de kamer wil verlaten?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>bijv. @jan:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Je inlognaam. Een mxid begint met een @ gevolgd door de gebruikersid. Na de gebruikersid moet je je servernaam toevoegen na een :.
-Je kan ook je thuisserver adres invullen als je server geen .well-known ondersteund.
-Voorbeeld: @gebruiker:mijn.server
-Als Nheko je thuisserver niet kan vinden, zal je worden gevraagd het adres op te geven.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Wachtwoord</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Je wachtwoord.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Apparaatnaam</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Een naam voor dit apparaat die zichtbaar is voor anderen als ze je apparaten bekijken of verifiëren. Als niets ingevuld is, wordt er een standaardwaarde gebruikt.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>Het adres waarop je thuisserver&apos;s API voor gebruikers te bereiken is.
-Voorbeeld: https://mijn.server:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Thuisserveradres</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>mijnserver.nl:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>INLOGGEN</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Terug</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Je hebt een ongeldige Matrix ID ingevuld. Correct voorbeeld: @jan:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Automatische herkenning mislukt. Ongeldig antwoord ontvangen.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Automatische herkenning mislukt. Onbekende fout tijdens het opvragen van .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>De vereiste aanspreekpunten werden niet gevonden. Mogelijk geen Matrix server.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Ongeldig antwoord ontvangen. Zorg dat de thuisserver geldig is.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Een onbekende fout trad op. Zorg dat de thuisserver geldig is.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>De gekozen server ondersteund geen Matrix, of ieder geval geen versie die Nheko begrijpt (v1.1 tot v1.5). Je kan dus niet inloggen.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Inloggen met Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Verder met Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Inloggen met Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Inloggen met Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Inloggen met %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO INLOGGEN</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Leeg wachtwoord</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO inloggen mislukt</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Uitloggen</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Er is een oproep gaande. Uitloggen?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Weet je zeker dat je wil uitloggen?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Het is niet is gelukt om de media te versturen. Probeer het a.u.b. opnieuw.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Deze kamer is vervangen wegens de volgende reden: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Ga naar de vervangende kamer</translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 heeft een bericht verwijderd</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 heeft de naam van de kamer veranderd in: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 heeft de kamernaam verwijderd</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 heeft het onderwerp veranderd in: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 heeft het onderwerp verwijderd</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 heeft de kameravatar veranderd</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 heeft de vastgeprikte berichten aangepast.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 heeft de adressen voor deze kamer aangepast.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 heeft de moedergroep voor deze kamer bijgewerkt.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 maakte en configureerde de kamer: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 plaatste een spraakoproep.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 plaatste een video oproep.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 plaatste een oproep.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 beantwoordde de oproep.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 heeft het gesprek afgewezen.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 heeft het gesprek beantwoord</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 beëindigde de oproep.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 is het gesprek aan het opzetten...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Binnenlaten</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Ophangen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Plaats een oproep</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Reeds in een gesprek</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Verstuur een bestand</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Typ een bericht…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Stickers</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Verstuur</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Je hebt geen toestemming om berichten te versturen in deze kamer</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Bewerken</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reageren</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Beantwoorden in een gespreksdraad</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Nieuwe gespreksdraad</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Beantwoorden</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Opties</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Reden voor verwijdering</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Voer de reden voor verwijdering in of druk op enter voor geen reden:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopiëren</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Kopieer &amp;link</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;ageren</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Beantwoo&amp;rden</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>B&amp;ewerken</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>Gespreks&amp;draad</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Vast%prikken ongedaan maken</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>Vast%prikken</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>&amp;Leesbevestigingen</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Doorsturen</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>Gelezen &amp;markeren</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Ruw bericht bekijken</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Ontsleuteld ruw bericht bekijken</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>&amp;Verwijder bericht</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>Op&amp;slaan als</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>In extern programma &amp;openen</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Kopieer link naar gebeurte&amp;nis</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Ga naar geciteerd bericht</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Verstuur verificatieverzoek</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Ontvangen verificatieverzoek</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Om aan andere gebruikers te laten zien welke apparaten echt van jou zijn, kan je ze verifiëren. Hierdoor worden ook sleutelreservekopieën automatisch uitgewisseld. Nu een ongeverifieerd apparaat verifiëren? (Zorg dat je een van deze apparaten bij de hand hebt.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Om aan andere gebruikers te laten zien welke apparaten echt van jou zijn, kan je ze verifiëren. Hierdoor worden ook sleutelreservekopieën automatisch uitgewisseld. Nu %1 verifiëren?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Om zeker te zijn dat niemand meeleest met je versleutelde gesprek kan je de andere kant verifiëren.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 heeft verzocht om hun apparaat %2 te verifiëren.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1, gebruikmakend van apparaat %2 heeft verzocht om verificatie.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Je apparaat (%1) heeft verzocht om verificatie.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Annuleren</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Weigeren</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Begin verificatie</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Accepteren</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Je staat op het punt de hele kamer een notificatie te sturen</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 stuurde een versleuteld bericht</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 antwoordde: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 antwoordde met een versleuteld bericht</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 antwoordde op een bericht</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 stuurde een bericht</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Bel %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Geen microfoon gevonden.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Spraak</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Scherm</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Annuleren</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>Niet geïmplementeerd evenement: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Machtniveaus in %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Kijk uit bij het aanpassen van machtniveaus. Je kan het niveau van mensen met een gelijk of hoger niveau als jijzelf niet aanpassen. Let dus op bij het verhogen van het niveau van anderen.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Niveaus</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Gebruikers</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Verplaats toestemmingen tussen niveaus om ze te veranderen</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Beheerder (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Toezichthouder (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Gebruiker (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Aangepast (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Verwijder evenementtype</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Evenementtype toevoegen</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Nieuw niveau toevoegen</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Toevoegen</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Verplaats gebruikers omhoog of omlaag om hun niveau en toestemmingen aan te passen</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Verwijder gebruiker</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Gebruiker toevoegen</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Aanpassingen aan rechten doorvoeren</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>Welke groepen en kamers moeten deze rechten op van toepassing zijn?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Voer rechten recursief door</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Overschrijf huidige aanpassingen in kamers</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Geen rechten om de nieuwe rechten hier door te voeren</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Geen veranderingen noodzakelijk</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Huidige aanpassingen aan de rechten in deze kamer zullen overschreven worden</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Rechten synchroniseren met de groep</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Kon machtsniveau niet bewerken: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Kon machtsniveau niet bewerken: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Andere evenementen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Andere statusevenementen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Verwijder andere gebruikers</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Verban andere gebruikers</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Andere gebruikers uitnodigen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Berichten intrekken die verstuurd waren door anderen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reacties</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Verouderde aliasgebeurtenissen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Verander de kamerafbeelding</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Veranderen van de kameradressen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Versturen van versleutelde berichten</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Versleuteling inschakelen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Gasttoegang aanpassen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Zichtbaarheid van de geschiedenis aanpassen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Aanpassen wie de kamer mag binnentreden</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Berichten versturen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Veranderen van de kamernaam</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Aanpassen van de kamer machtsniveaus</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Veranderen van het kameronderwerp</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Veranderen van de widgets</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Veranderen van de widgets (experimenteel)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Intrekken van eigen gebeurtenissen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Vastgeprikte gebeurtenissen veranderen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>De kamerversie verhogen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Stickers versturen</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Gebruikers verbannen via beleidsregels</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Kamers verbannen via beleidsregels</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Servers verbannen via beleidsregels</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Pas kindgroepen en kamers aan</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Pas moedergroepen aan</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Een beeld- of geluidsgesprek beginnen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Een beeld- of geluidsgesprek onderhandelen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Een beeld- of geluidsgesprek opnemen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Een beeld- of geluidsgesprek ophangen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Gesprek weigeren</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>De kamer emotes aanpassen</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Andere gebruikers</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Maak een uniek profiel, waardoor je tegelijk meerdere kopieën van Nheko kan draaien en zo op meerdere gebruikers tegelijk ingelogd kan zijn.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profiel</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>profielnaam</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Alias voor &apos;--log-level trace&apos;.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Stelt het globale logniveau in, of een komma-gescheiden lijst van &lt;component&gt;=&lt;niveau&gt; paren, of beide. Om bijvoorbeeld het huidige logniveau op &apos;warn&apos; te zetten maar logs uit te schakelen voor het &apos;ui&apos; component, voer je &apos;warn,ui=off&apos; in. Niveaus zijn: {trace,debug,info,warning,error,critical,off} en componenten zijn: {crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>niveau</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Stel het uitvoertype voor logs in. Een spatie-gescheiden lijst is toegestaan. De standaardwaarde is &apos;file,stderr&apos;. Mogelijke types zijn: {file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>type</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Antwoorden</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Verstuur</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Typ een bericht…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Leesbevestigingen</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Gisteren, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Gebruikersnaam</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>De gebruikersnaam mag niet leeg zijn, en mag alleen de volgende tekens bevatten: a-z, 0-9, ., _, =, -, en /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Terug</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Wachtwoord</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Kies a.u.b. een veilig wachtwoord. De exacte vereisten voor een wachtwoord kunnen per server verschillen.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Wachtwoord bevestigen</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Een naam voor dit apparaat die zichtbaar is voor anderen. Als niets ingevuld is wordt er een standaardwaarde gebruikt.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Thuisserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>jouwserver.example.com</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Een server die registratie toestaat. Omdat Matrix gedecentraliseerd is, moet je eerst zelf een server vinden om je op te registeren, of je eigen server hosten.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Je wachtwoorden komen niet overeen!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Apparaatnaam</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTREREN</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Automatische herkenning mislukt. Onjuist gevormd antwoord ontvangen.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Automatische herkenning mislukt. Onbekende fout bij opvragen van .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>De vereiste aanspreekpunten konden niet worden gevonden. Mogelijk geen Matrix server.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Onjuist gevormd antwoord ontvangen. Zorg dat de thuisserver geldig is.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Een onbekende fout trad op. Zorg dat de thuisserver geldig is.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>De gekozen server ondersteunt geen Matrixversie die Nheko begrijpt (v1.1 tot v1.5). Je kan dus niet registeren.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>De server ondersteund het opvragen van registratiemethodes niet!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>De server ondersteund registreren niet.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Ongeldige gebruikersnaam.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Naam reeds in gebruik.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Deel van de gereserveerde naamruimte.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Sluiten</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Bewerken annuleren</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Gespreksdraad afbreken</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Verken openbare kamers</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Zoek naar openbare kamers</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Kies een aangepaste thuisserver</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>geen versie opgeslagen</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Nieuwe markering</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Voer de markering in die je wil gebruiken:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>In een apart venster openen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Kamerinstellingen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Kamer verlaten</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Kopieer kamerlink</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Markeer kamer als:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favoriet</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Lage prioriteit</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Serverbericht</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Maak nieuwe markering…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Aan groep toevoegen of uit groep verwijderen...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Statusbericht</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Voer je statusbericht in:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Profielinstellingen</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Stel statusbericht in</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Uitloggen</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Versleuteling niet ingesteld</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Ongeverifiëerde login</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Verifieer a.u.b. je andere apparaten</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Sluiten</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Nieuwe chat beginnen</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Kamer binnengaan</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Nieuwe kamer aanmaken</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Begin een privégesprek</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Maak een nieuwe groep</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Kamerlijst</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Doorzoek kamers (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Gebruikersinstellingen</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Deelnemers in %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n persoon in %1</numerusform>
-            <numerusform>%n personen in %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Nodig meer mensen uit</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Zoeken...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Sorteren op: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>Gebruikers ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Weergavenaam</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Machtsniveau</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Beheerder: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Toezichthouder: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Gebruiker: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Deze kamer is niet versleuteld!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Deze gebruiker is geverifieerd.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Deze gebruiker is niet geverifieerd, maar gebruikt nog dezelfde hoofdsleutel als de eerste keer.</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Naam reeds in gebruik.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Deze gebruiker heeft ongeverifieerde apparaten!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Kamerinstellingen</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Verander kamerafbeelding.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Naam van deze kamer veranderen</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n deelnemer</numerusform>
-            <numerusform>%n deelnemers</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Bekijk deelnemers aan %1</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Geen onderwerp</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Verander onderwerp van deze kamer</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>INSTELLINGEN</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Meldingen</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Gedempt</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Alleen vermeldingen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Alle berichten</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Versleuteling</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Eind-tot-eind versleuteling</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Versleuteling is momenteel experimenteel en dingen gaan misschien stuk. &lt;br&gt;
-Wees ervan bewust dat het achteraf niet meer uitgeschakeld kan worden.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Toestemmingen</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Bekijken en aanpassen van toestemmingen in deze kamer</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Bekijken en aanpassen van adressen/aliassen van deze kamer</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Sticker &amp; Emoji instellingen</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Bewerken</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Verborgen gebeurtenissen</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Instellen</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Iedereen kan binnentreden</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Sta aankloppen toe</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Sta binnentreden via andere kamers toe</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Kamers die hier binnentreden toestaan</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Verander de lijst van kamers waarlangs gebruikers kunnen binnentreden. Meestal is dit de officiële groep van deze kamer.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Sta gasten toe om binnen te treden</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Toegangsregels doorvoeren</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Aliassen</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Verander welke pakketten ingeschakeld zijn, verwijder ze, of maak nieuwe</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Selecteer gebeurtenissen die verborgen dienen te worden in deze kamer</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Interne ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Gekopieerd naar klembord</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Kamerversie</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>minder tonen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>meer tonen</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Versleuteling kon niet worden ingeschakeld: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Kies een avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Alle bestanden (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Het gekozen bestand is geen afbeelding</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Fout bij lezen van bestand: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Uploaden van afbeelding mislukt: %1</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Wachtende uitnodiging.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Voorbeeld van deze kamer</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Geen voorbeeld beschikbaar</translation>
+        <source>Part of the reserved namespace.</source>
+        <translation>Deel van de gereserveerde naamruimte.</translation>
     </message>
 </context>
 <context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Voer a.u.b. je wachtwoord in om door te gaan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Voer a.u.b. een geldig email adres in om door te gaan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Voer a.u.b. een geldig telefoonnummer in om door te gaan:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Voer de sleutel (token) in die je hebt ontvangen:</translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Wacht op de bevestigingslink, en ga dan door.</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>geen versie opgeslagen</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Scherm delen met %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Versleuteling kon niet worden ingeschakeld: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Scherm:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Kies een avatar</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Verversingssnelheid:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Alle bestanden (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Laat eigen cameraminiatuur zien</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Het gekozen bestand is geen afbeelding</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Verzoek om camera van de andere kant</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Fout bij lezen van bestand: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Bekijk de camera van degene die belt zoals bij een regulier videogesprek</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Uploaden van afbeelding mislukt: %1</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Verstop muiscursor</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Wachtende uitnodiging.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Delen</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Voorbeeld van deze kamer</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Voorbeeld</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Geen voorbeeld beschikbaar</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Annuleren</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Verbinden met geheimopslag mislukt</translation>
     </message>
@@ -3238,62 +1236,10 @@ Wees ervan bewust dat het achteraf niet meer uitgeschakeld kan worden.</translat
         <translation>Nheko kon niet verbinden met de veilige opslag voor versleutelingsgegevens. Dit kan verscheidene redenen hebben. Controleer of je D-Bus service wel draait, en of je een service zoals KWallet, Gnome Keyring, KeyPassXC of een soortgelijk equivalent voor je platform hebt ingesteld. Als je problemen ondervind, voel je vrij om hier een nieuwe issue te openen: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Dit is je herstelsleutel. Je hebt deze nodig om toegang tot je versleutelde berichten en sleutels te herstellen. Hou deze veilig. Deel hem met niemand, en raak hem niet kwijt! Ga niet langs start, ontvang geen €200!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Versleuteling succesvol ingesteld</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Kon versleuteling niet instellen: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Versleuteling instellen</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Hallo, en welkom bij Matrix!
-Zo te zien ben je nieuw. Voordat je je berichten veilig kan versleutelen, moeten we een paar kleine dingen instellen. Je kan ofwel direct op accepteren drukken of een paar basisopties aanpassen. We proberen ook de basisprincipes uit te leggen. Je kan deze overslaan, maar wellicht vind je het behulpzaam!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Activeer versleuteling</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Het lijkt erop dat je versleuteling al hebt ingesteld voor dit account. Om bij je versleutelde berichten te kunnen en om dit apparaat als vertrouwd te laten verschijnen, kan je ofwel een bestaand apparaat verifiëren ofwel je herstelsleutel invoeren (als je er één hebt). Kies a.u.b een van de opties hieronder.
-Als je &quot;verifieer&quot; kiest, moet je het andere apparaat bij de hand hebben. Als je &quot;Voer herstelsleutel in&quot; kiest moet je je herstelsleutel of wachtwoordzin hebben. Als je op annuleren klikt kan je later altijd alsnog jezelf verifiëren.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>verifieer</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>voer herstelsleutel in</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Aanmaken van sleutels voor kruisversleuteling mislukt!</translation>
     </message>
@@ -3326,19 +1272,19 @@ Als je &quot;verifieer&quot; kiest, moet je het andere apparaat bij de hand hebb
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Kon afbeeldingspakket niet updaten: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Kon oud afbeeldingspakket niet verwijderen: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Kon afbeelding niet openen: %1</translation>
     </message>
@@ -3349,97 +1295,10 @@ Als je &quot;verifieer&quot; kiest, moet je het andere apparaat bij de hand hebb
         <translation>Kon afbeelding niet uploaden: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Aan groep toevoegen of uit groep verwijderen</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Officiële community voor deze kamer</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Gerelateerde community voor deze kamer</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Alleen voor groepsdeelnemers zichtbaar</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Alleen voor kamer deelnemers zichtbaar</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Ongerelateerd</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Deelgroepen</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Mislukt</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Verstuurd</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Ontvangen</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Gelezen</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Zoeken</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Succesvolle verificatie</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verificatie gelukt!  Beide kanten hebben hun apparaat geverifieerd!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Sluiten</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Bericht intrekken mislukt: %1</translation>
@@ -3471,7 +1330,7 @@ Als je &quot;verifieer&quot; kiest, moet je het andere apparaat bij de hand hebb
         <translation>Bestand opslaan</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3752,256 +1611,99 @@ Reden: %4</translation>
     <message>
         <location line="+7"/>
         <source>%2 unbanned %1.</source>
-        <translation>%2 heeft de verbanning van %1 opgeheven.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 heeft het aankloppen van %1 geweigerd.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 is van avatar veranderd.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 heeft wat profielinformatie aangepast.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 neemt nu deel.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 neemt deel via autorisatie van %2&apos;s server.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 heeft de uitnodiging geweigerd.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 heeft de kamer verlaten.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Reden: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 heeft het aankloppen ingetrokken.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Je neemt nu deel aan deze kamer.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 heeft deze kamer zodanig ingesteld dat een uitnodiging vereist is om te mogen betreden.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 heeft %2 uitgenodigd.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 is van avatar veranderd en heet nu %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 heet nu %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 is vertrokken na reeds vertrokken te zijn!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 heeft %2 verbannen</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 klopt aan.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Bewerkt</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Deel van een gespreksdraad</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Geen kamer open</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Geen voorbeeld beschikbaar</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Instellingen</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n deelnemer</numerusform>
-            <numerusform>%n deelnemers</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Bekijk deelnemers aan %1</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>Neem deel aan het gesprek</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>accepteer uitnodiging</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>wijs uitnodiging af</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Verberg uitnodigingsreden</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Toon uitnodigingsreden</translation>
+        <translation>%2 heeft de verbanning van %1 opgeheven.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Terug naar kamerlijst</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 heeft het aankloppen van %1 geweigerd.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Terug naar kamerlijst</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 is van avatar veranderd.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Geen kamer geselecteerd</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 heeft wat profielinformatie aangepast.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>In %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 neemt nu deel.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Laat kamerdeelnemers zien.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 neemt deel via autorisatie van %2&apos;s server.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Deze kamer bevat alleen geverifieerde apparaten.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 heeft de uitnodiging geweigerd.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Deze kamer bevat alleen geverifiëerde apparaten en apparaten die nooit hun hoofdsleutel hebben veranderd.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 heeft de kamer verlaten.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Deze kamer bevat ongeverifieerde apparaten!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Reden: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Toon of verberg vastgeprikte berichten</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 heeft het aankloppen ingetrokken.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Doorzoek deze kamer</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Je neemt nu deel aan deze kamer.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Kameropties</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 heeft deze kamer zodanig ingesteld dat een uitnodiging vereist is om te mogen betreden.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Gebruikers uitnodigen</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 heeft %2 uitgenodigd.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Deelnemers</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 is van avatar veranderd en heet nu %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Kamer verlaten</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 heet nu %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Instellingen</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 is vertrokken na reeds vertrokken te zijn!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Vastprikken ongedaan maken</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 heeft %2 verbannen</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Voer zoekopdracht in</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 klopt aan.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Tonen</translation>
     </message>
@@ -4014,13 +1716,13 @@ Reden: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Geen beschikbare registratiestromen!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Registratie afgebroken</translation>
@@ -4036,112 +1738,10 @@ Reden: %4</translation>
         <translation>Ongeldig teken</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Bestand versturen</numerusform>
-            <numerusform>%n bestanden versturen</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Globaal gebruikersprofiel</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Kamerspecifiek gebruikersprofiel</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Verander avatar globaal.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Verander avatar. Heeft alleen effect op deze kamer.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Verander weergavenaam globaal.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Verander weergavenaam. Heeft alleen effect op deze kamer.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Kamer: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Dit is een kamer-specifiek profiel. De weergavenaam en avatar kunnen verschillen van de globale versie.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Open het globale profiel van deze gebruiker.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Verifiëren</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Begin een privéchat.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Verwijder de gebruiker.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Verban de gebruiker.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Ververs apparaatlijst.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Meld dit apparaat af.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Verander apparaatnaam.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Laatst gezien %1 via %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>On-verifiëren</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Meld apparaat %1 af</translation>
     </message>
@@ -4174,8 +1774,8 @@ Reden: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Standaard</translation>
     </message>
@@ -4183,7 +1783,7 @@ Reden: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Thema</translation>
     </message>
@@ -4252,6 +1852,11 @@ Reden: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Sorteer kamers op ongelezen berichten</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4513,12 +2118,22 @@ Reden: %4</translation>
         <translation>Maak kamerinformatie beschikbaar over D-Bus</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Standaard</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Stel het geluid in dat speelt als een oproep binnen komt</translation>
     </message>
@@ -4591,7 +2206,21 @@ This will also enable or disable sending typing notifications to others.</source
 Dit schakelt ook het versturen van je eigen typnotificaties naar anderen in of uit.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Laat knoppen zien om snel te reageren, beantwoorden, of extra opties te kunnen gebruiken naast elk bericht.</translation>
     </message>
@@ -4645,17 +2274,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Meestal zorgt dit dat het icoon in de taakbalk op een manier animeert of iets dergelijks.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Zijbalk voor groepen</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Laat totaalaantal berichten zien voor groepen en markeringen</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Stel de maximale breedte in van berichten in de tijdlijn (in pixels). Dit kan helpen met leesbaarheid op een breed scherm als Nheko op volledig scherm staat ingesteld</translation>
     </message>
@@ -4665,16 +2294,7 @@ Meestal zorgt dit dat het icoon in de taakbalk op een manier animeert of iets de
         <translation>Laat een zijbalk zien met groepen en markeringen naast de kamerlijst.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Toon als eerste kamers met nieuwe berichten.
-Als dit uit staat worden kamers gesorteerd aan de hand van de tijd van het laatste bericht in een kamer.
-Als dit aan staat worden kamers met actieve meldingen (kleine cirkel met een getal erin) als eerste getoond. Kamers die je hebt gedempt staan nog steeds gesorteerd op tijd, want die vind je schijnbaar minder belangrijk dan andere kamers.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4765,7 +2385,17 @@ This setting will take effect upon restart.</source>
 Deze instelling wordt toegepast na opnieuw starten van de applicatie.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Selecteer een bestand</translation>
     </message>
@@ -4775,7 +2405,7 @@ Deze instelling wordt toegepast na opnieuw starten van de applicatie.</translati
         <translation>Alle bestanden (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Open sessiebestand</translation>
     </message>
@@ -4817,117 +2447,18 @@ Deze instelling wordt toegepast na opnieuw starten van de applicatie.</translati
         <translation>Bestand om geëxporteerde sessiesleutels in op te slaan</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>OPVRAGEN</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>DOWNLOADEN</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>IN CACHE</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NIET IN CACHE</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Terug</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTEREN</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTEREN</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Geen versleutelde chat gevonden met deze gebruiker. Maak een versleutelde chat aan met deze gebruiker en probeer het opnieuw.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Wachten op andere kant…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Wachten op de andere kant om het verificatieverzoek te accepteren.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Wachten op de andere kant om het verificatieproces voort te zetten.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Wachten op de andere kant om het verificatieproces af te ronden.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Annuleren</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Welkom bij Nheko! De bureaubladclient voor het Matrix-protocol.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Geniet van je verblijf!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTREREN</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>INLOGGEN</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Beperk animaties</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko gebruikt animaties op verscheidene plaatsen om dingen mooier te maken. Hiermee kan je deze uitschakelen als je je er niet goed door voelt.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Gisteren</translation>
     </message>
@@ -4935,7 +2466,7 @@ Deze instelling wordt toegepast na opnieuw starten van de applicatie.</translati
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Open fallback in browser</translation>
     </message>
@@ -4956,32 +2487,52 @@ Deze instelling wordt toegepast na opnieuw starten van de applicatie.</translati
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Open reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Mensen</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Annuleren</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Natuur</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Bevestigen</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Eten</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Los de reCAPTCHA op en klik op &apos;Bevestigen&apos;</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Activiteiten</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Reizen</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objecten</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Symbolen</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Vlaggen</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Je verstuurde een audio clip</translation>
     </message>
@@ -5042,25 +2593,25 @@ Deze instelling wordt toegepast na opnieuw starten van de applicatie.</translati
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Jij: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>Je hebt wat confetti verstuurd</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 heeft wat confetti verstuurd</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_pl.ts b/resources/langs/nheko_pl.ts
index 435cfe24cfbe64bec4d4268fbd1ab94a4e51ad07..80251ecdb42f7854a62e05c4ab8d8cbc633d9dd3 100644
--- a/resources/langs/nheko_pl.ts
+++ b/resources/langs/nheko_pl.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="pl">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Dzwonię…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Łączę…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Udostępniasz ekran.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Ukryj/Pokaż rozmowę w małym oknie</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Wyłącz wyciszenie mikrofonu</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Wycisz mikrofon</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Nie udało się zaktualizować aliasów: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Aliasy do %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Lista aliasów do tego pokoju. Zwykle możesz tworzyć aliasy tylko dla swojego serwera. Możesz istnieć jeden alias główny i wiele alternatywnych aliasów.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Alias główny</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Utwórz główny alias</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Ogłoś jako alias tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Opublikuj w katalogu pokojów</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Usuń ten alias</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#nowy-alias:serwer.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Dodaj</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Nadrzędna społeczność</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Inny pokój</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Podaj dodatkowe pokoje, których nie ma jeszcze na liście...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 i jeszcze %n inny</numerusform>
@@ -140,76 +30,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Pusty pokój</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Rozmowa Wideo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Rozmowa głosowa</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Nie znaleziono mikrofonu.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Rozmowa wideo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Połączenie Głosowe</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>UrzÄ…dzenia</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Akceptuj</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Niezidentyfikowany mikrofon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Nieznana kamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Odrzuć</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Nie znaleziono mikrofonu.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Cały ekran</translation>
     </message>
@@ -217,18 +56,28 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Nie udało się zaprosić użytkownika: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Zaproszono użytkownika: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Potwierdź wylogowanie</translation>
     </message>
@@ -238,7 +87,7 @@
         <translation>Pamięć podręczna na twoim dysku jest nowsza niż wspierana przez tę wersję Nheko. Zaktualizuj Nheko lub wyczyść pamięć podręczną.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Nie udało się otworzyć bazy danych, następuje wylogowanie!</translation>
     </message>
@@ -269,12 +118,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Potwierdź zaproszenie</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Czy na pewno chcesz zaprosić %1 (%2)?</translation>
     </message>
@@ -319,12 +168,12 @@
         <translation>Odblokowano użytkownika: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Czy na pewno chcesz rozpocząć prywatny czat z %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Nie udało się przenieść pamięci podręcznej!</translation>
     </message>
@@ -346,7 +195,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Niekompatybilna wersja pamięci podręcznej</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <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>
@@ -419,16 +268,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Podaj powód zbanowania %1 (%2) lub wciśnij enter aby nie podawać powodu:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Brak połączenia z siecią</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;wiadomość&gt;</translation>
     </message>
@@ -539,6 +383,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -680,47 +534,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
-        <translation>Zmień ten pokój w czat bezpośredni.</translation>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation>Zmień ten czat bezpośredni w pokój.</translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Nie pokazuj liczników powiadomień dla tej społeczności lub tagu.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Rozwiń</translation>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
+        <translation>Zmień ten pokój w czat bezpośredni.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Zwiń</translation>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
+        <translation>Zmień ten czat bezpośredni w pokój.</translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Wszystkie pokoje</translation>
     </message>
@@ -770,7 +611,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Wiadomości od twojego serwera lub administratora.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Nie udało się zaktualizować społeczności: %1</translation>
     </message>
@@ -791,2442 +632,601 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Potwierdź dołączenie do społeczności</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Odszyfruj sekrety</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Potwierdź dołączenie do pokoju</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Wprowadź swój klucz odzyskiwania lub hasło żeby odszyfrować swoje sekrety:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n członek</numerusform>
-            <numerusform>%n członków</numerusform>
-            <numerusform>%n członków</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Wprowadź swój klucz odzyskiwania lub frazę klucz nazwaną: %1 by odszyfrować swoje sekrety:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Czy chcesz dołączyć do tego pokoju? Możesz podać powód, dla którego członkowie mieliby cię&#xa0;przyjąć:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Odszyfrowywanie nie powiodło się</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Nie udało się odszyfrować sekretów używając podanego klucza odzyskiwania lub hasła</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Zapukaj</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Nie udało się ustawić ukrytych zdarzeń: %1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Dołącz</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Utwórz czat bezpośredni</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Nie udało się ustawić ukrytych zdarzeń: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Użytkownik do zaproszenia</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Wszystkie pliki (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@użytkownik:serwer.tld</translation>
+        <location line="+0"/>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Szyfrowanie</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Wysyłanie &apos;%1&apos; nie powiodło się</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Utwórz pokój</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Wprowadzono nieprawidłowe Matrix ID. Przykład prawidłowego ID: @ania:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Nazwa</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Automatyczne odkrywanie zakończone niepowodzeniem. Otrzymano nieprawidłową odpowiedź.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Nowa społeczność</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Automatyczne odkrywanie zakończone niepowodzeniem. Napotkano nieznany błąd. .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Nowy pokój</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Nie odnaleziono wymaganych punktów końcowych. To może nie być serwer Matriksa.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Bez nazwy</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Otrzymano nieprawidłową odpowiedź. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Temat</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Wystąpił nieznany błąd. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Bez tematu</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Alias</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Zaloguj się z użyciem konta Apple</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Publiczny</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Zaloguj się z użyciem konta Facebook</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Do publicznych pokojów może dołączyć każdy; prywatne pokoje wymagają zaproszenia.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Zaloguj się z użyciem konta Google</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Zaufany</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>Zaloguj się z użyciem konta Twitter</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Wszyscy zaproszeni otrzymajÄ… taki sam poziom mocy jak autor</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>Logowanie przy użyciu %1</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Szyfrowanie</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>Logowanie SSO</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Uwaga: Szyfrowanie nie może zostać wyłączone</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Puste hasło</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Logowanie SSO zakończone niepowodzeniem</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Odszyfruj sekrety</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Wprowadź swój klucz odzyskiwania lub hasło żeby odszyfrować swoje sekrety:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Wysłanie mediów nie powiodło się. Spróbuj ponownie.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Wprowadź swój klucz odzyskiwania lub frazę klucz nazwaną: %1 by odszyfrować swoje sekrety:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 wysłał(a) zaszyfrowaną wiadomość</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Odszyfrowywanie nie powiodło się</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translatorcomment>Format wiadomości w powiadomieniu. %1 to nadawca, %2 to wiadomość.</translatorcomment>
+        <translation>%1 odpisał(a): %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Nie udało się odszyfrować sekretów używając podanego klucza odzyskiwania lub hasła</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 odpisał(a) zaszyfrowaną wiadomością</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Kod weryfikacyjny</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 odpisał(a) na wiadomość</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Zweryfikuj poniższy ciąg cyfr. Po obu stronach powinny być wyświetlane identyczne. Jeżeli ciągi się różnią, naciśnij &apos;Nie pasują!&apos; aby przerwać weryfikację!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 wysłał(a) wiadomość</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Nie pasujÄ…!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Nie udało się zaktualizować poziomu mocy: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>PasujÄ…!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Nie udało się zaktualizować poziomu mocy: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Szukaj</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Inne zdarzenia</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Ludzie</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>Inne zdarzenia stanu</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Przyroda</translation>
+        <source>Remove other users</source>
+        <translation>Usuwanie innych użytkowników</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Jedzenie</translation>
+        <source>Ban other users</source>
+        <translation>Banowanie innych użytkowników</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktywność</translation>
+        <source>Invite other users</source>
+        <translation>Zapraszanie innych użytkowników</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Podróże</translation>
+        <source>Redact events sent by others</source>
+        <translation>Redagowanie zdarzeń wysłanych przez innych</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Przedmioty</translation>
+        <source>Reactions</source>
+        <translation>Reakcje</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symbole</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Przestarzałe zdarzenia dotyczące aliasów</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Flagi</translation>
+        <source>Change the room avatar</source>
+        <translation>Zmiana awataru pokoju</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Kod weryfikacyjny</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Zmiana adresów pokoju</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Zweryfikuj poniższe emotikony. Powinny być identyczne po obu stronach. Jeżeli są różne, naciśnij &apos;Nie pasują!&apos; aby przerwać weryfikację!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Wysyłanie szyfrowanych wiadomości</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Wyświetlane emoji mogą różnić się&#xa0;wyglądem między klientami, jeśli używana jest inna czcionka. Ich nazwy mogą też być przetłumaczone na inny język. Niemniej jednak powinny one przedstawiać jedno z 64 różnych obiektów lub zwierząt. Dla przykładu lew i kot są różnymi emoji, zaś twarz kota w jednym kliencie i cały kot w drugim są tak samo traktowane jako emoji kota.</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>WÅ‚Ä…czenie szyfrowania</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Nie pasujÄ…!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Zmiana dostępu dla gości</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>PasujÄ…!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Zmiana widoczności historii</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Brakuje klucza do odblokowania tej wiadomości. Poprosiliśmy o klucz automatycznie, ale możesz poprosić ręcznie jeszcze raz, jeśli jesteś niecierpliwy(a).</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>Zmiana możliwości dołączenia do pokoju</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Ta wiadomość nie mogła zostać odszyfrowana, ponieważ mamy klucz wyłącznie dla nowszych wiadomości. Możesz spróbować poprosić o dostęp do tej wiadomości.</translation>
+        <source>Send messages</source>
+        <translation>Wysyłanie wiadomości</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Wystąpił wewnętrzny błąd odczytywania klucza odszyfrowywania z bazy danych.</translation>
+        <source>Change the room name</source>
+        <translation>Zmiana nazwy pokoju</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Wystąpił błąd podczas odszyfrowywania tej wiadomości.</translation>
+        <source>Change the room permissions</source>
+        <translation>Zmiana uprawnień pokoju</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Wystąpił błąd podczas przetwarzania tej wiadomości.</translation>
+        <source>Change the rooms topic</source>
+        <translation>Zmiana tematu pokoju</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Ten klucz szyfrowania został już użyty! Być może ktoś próbuje umieścić fałszywe wiadomości w tym czacie!</translation>
+        <source>Change the widgets</source>
+        <translation>Zmiana widżetów</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Nieznany błąd odszyfrowywania</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>Zmiana widżetów (eksperymentalne)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>PoproÅ› o klucz</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Redagowanie własnych zdarzeń</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Zmiana przypiętych zdarzeń</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Aktualizowanie pokoju do nowszej wersji</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Ta wiadomość nie jest zaszyfrowana!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Wysyłanie naklejek</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Zaszyfrowane przez zweryfikowane urzÄ…dzenie</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Banowanie użytkowników przy użyciu reguł</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Zaszyfrowane przez niezweryfikowane urządzenie, ale pochodzące od zaufanego użytkownika.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Banowanie pokojów przy użyciu reguł</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Zaszyfrowane przez niezweryfikowane urządzenie, albo klucz pochodzi z niezaufanego źródła, np. backup-u klucza.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Banowanie serwerów przy użyciu reguł</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Weryfikacja nieudana</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Inny klient nie obsługuje naszego protokołu weryfikacji.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Wykryto niedopasowanie kluczy!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Rozpoczynanie rozmowy</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Przekroczono limit czasu na weryfikacjÄ™ urzÄ…dzenia.</translation>
+        <source>Negotiate a call</source>
+        <translation>Negocjowanie rozmowy</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Druga strona anulowała weryfikację.</translation>
+        <source>Answer a call</source>
+        <translation>Odbieranie rozmowy</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Wiadomości weryfikacyjne zostały odebrane w nieprawidłowej kolejności!</translation>
+        <source>Hang up a call</source>
+        <translation>Kończenie rozmowy</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Nieznany błąd weryfikacji.</translation>
+        <source>Reject a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Zamknij</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Zmiana emotikon pokoju</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Prześlij wiadomość dalej</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Inni użytkownicy</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Nie udało się ustawić ukrytych zdarzeń: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Ukryte zdarzenia dla %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profil</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Ukryte zdarzenia</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>nazwa profilu</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Poniższe zdarzenia będą &lt;b&gt;wyświetlane&lt;/b&gt; w %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Poniższe zdarzenia będą &lt;b&gt;wyświetlane&lt;/b&gt; we wszystkich pokojach:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Zdarzenia użytkownika</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Dołączenia, wyjścia, zmiany awataru i nazwy, bany, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Zmiany poziomu mocy</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Wysyłane gdy moderator zostanie dodany lub usunięty, bądź gdy uprawnienia pokoju ulegną&#xa0;zmianie.</translation>
+        <source>Send</source>
+        <translation>Wyślij</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Naklejki</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Napisz wiadomość…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Edytowanie paczki obrazów</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Wczoraj, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Dodaj obrazy</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Automatyczne wykrywanie zakończone niepowodzeniem. Otrzymano nieprawidłową odpowiedź.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Obrazy (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Automatyczne wykrywanie zakończone niepowodzeniem. Wystąpił nieznany błąd podczas próby dostępu do .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Wybierz obrazy do paczki</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Nie odnaleziono wymaganych punktów końcowych. To może nie być serwer Matrix.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Dodaj do paczki</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Otrzymano nieprawidłową odpowiedź. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Zmień obraz poglądowy tej paczki</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Wystąpił nieznany błąd. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Obraz poglÄ…dowy (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Wybierz obraz poglÄ…dowy dla paczki</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Serwer nie wspiera podawania możliwych sposobów rejestracji!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Klucz stanu</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Serwer nie pozwala na rejestracjÄ™.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Nazwa paczki</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Źródło (autor/link)</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Użyj jako emoji</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Użyj jako naklejki</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Skrót</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Zawartość</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Usuń z paczki</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Usuń</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Ustawienia paczki obrazów</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Utwórz paczkę konta</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Nowa paczka pokoju</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Prywatna paczka</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Paczka z tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Paczka z nadrzędnej społeczności</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Paczka włączona globalnie</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>WÅ‚Ä…cz globalnie</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Umożliw używanie tej paczki we wszystkich pokojach</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Edytuj</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Zamknij</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Wszystkie pliki (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Wysyłanie &apos;%1&apos; nie powiodło się</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Zaproś użytkowników do %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@ania:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>ZaproÅ›</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Dołącz do pokoju</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>ID pokoju lub alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Dołącz</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Opuść pokój</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Czy na pewno chcesz opuścić pokój?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>ID Matrixa</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>np. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Hasło</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Twoje hasło.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nazwa urzÄ…dzenia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Adres serwera domowego</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>serwer.mój:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ZALOGUJ</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Wróć</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Wprowadzono nieprawidłowe Matrix ID. Przykład prawidłowego ID: @ania:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Automatyczne odkrywanie zakończone niepowodzeniem. Otrzymano nieprawidłową odpowiedź.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Automatyczne odkrywanie zakończone niepowodzeniem. Napotkano nieznany błąd. .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Nie odnaleziono wymaganych punktów końcowych. To może nie być serwer Matriksa.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Otrzymano nieprawidłową odpowiedź. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Wystąpił nieznany błąd. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Zaloguj się z użyciem konta Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Zaloguj się z użyciem konta Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Zaloguj się z użyciem konta Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Zaloguj się z użyciem konta Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Logowanie przy użyciu %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>Logowanie SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Puste hasło</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Logowanie SSO zakończone niepowodzeniem</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Wyloguj siÄ™</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Trwa połączenie. Wylogować?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Czy na pewno chcesz się wylogować?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Wysłanie mediów nie powiodło się. Spróbuj ponownie.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 usunął/ęła wiadomość</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 zmienił(a) nazwę pokoju na: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 usunął/ęła nazwę pokoju</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 zmienił(a) temat pokoju na: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 usunął/ęła temat pokoju</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 zmienił(a) awatar pokoju</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 zmienił(a) przypięte wiadomości.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 zmienił(a) adresy tego pokoju.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 utworzył(a) i skonfigurował(a) pokój: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 rozpoczął(-ęła) połączenie głosowe.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 rozpoczął(-ęła) połączenie wideo.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 rozpoczął(-ęła) połączenie.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 odebrał(a) połączenie.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 zakończył(a) połączenie.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 negocjuje połączenie...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Wpuść</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Rozłącz się</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Zadzwoń</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Wyślij plik</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Napisz wiadomość…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Naklejki</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Wyślij</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Nie masz uprawnień do wysyłania wiadomości w tym pokoju</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Edytuj</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Zareaguj</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Odpowiedz w wÄ…tku</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Nowy wÄ…tek</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Odpowiedz</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Opcje</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Powód usunięcia</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Podaj powód usunięcia lub wciśnij enter by nie podawać powodu:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopiuj</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Kopiuj &amp;adres odnośnika</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Zar&amp;eaguj</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Odp&amp;isz</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Edytuj</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Odep&amp;nij</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>Przyp&amp;nij</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>Potwierdzenia p&amp;rzeczytania</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Przekaż dalej</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Oznacz jako przeczytane</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Wyświetl źródło &amp;wiadomości</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Wyświetl odszyfrowane źródło wiadomości</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>&amp;Usuń wiadomość</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Zapisz jako</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>Otwórz w &amp;zewnętrznym programie</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Skopiuj link do z&amp;darzenia</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>Idź do zacytowanej wiado&amp;mości</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Wyślij prośbę o weryfikację</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Otrzymano prośbę o weryfikację</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Aby upewnić się, że żaden złośliwy użytkownik nie może podsłuchiwać twojej zaszyfrowanej komunikacji, możesz zweryfikować drugą stronę.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 poprosił(a) cię o weryfikację jego/jej urządzenia: %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 używając urządzenia %2 poprosił(a) cię o weryfikację.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Twoje urządzenie (%1) poprosiło o weryfikację.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Odmów</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Rozpocznij weryfikacjÄ™</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Akceptuj</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Zamierzasz wysłać powiadomienie do wszystkich w pokoju</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 wysłał(a) zaszyfrowaną wiadomość</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translatorcomment>Format wiadomości w powiadomieniu. %1 to nadawca, %2 to wiadomość.</translatorcomment>
-        <translation>%1 odpisał(a): %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 odpisał(a) zaszyfrowaną wiadomością</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 odpisał(a) na wiadomość</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 wysłał(a) wiadomość</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Zadzwonić do %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Nie znaleziono mikrofonu.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>GÅ‚os</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Wideo</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Ekran</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>Niezaimplementowane zdarzenie: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Uprawnienia w %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Zachowaj ostrożność edytując uprawnienia. Nie możesz obniżyć uprawnień ludzi o tym samym lub wyższym poziomie niż twój. Zachowaj ostrożność podnosząc poziomy innych członków.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Role</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Użytkownicy</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Przenieś uprawnienia między rolami aby je zmienić</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Administrator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Moderator (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Użytkownik (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>WÅ‚asny (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Usuń typ zdarzenia</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Dodaj typ zdarzenia</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Dodaj nowÄ… rolÄ™</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Dodaj</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Przenieś użytkowników wyżej lub niżej aby zmienić ich uprawnienia</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Usuń użytkownika</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Dodaj użytkownika</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Zastosuj zmiany uprawnień</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Zastosuj uprawnienia rekursywnie</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Nie udało się zaktualizować poziomu mocy: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Nie udało się zaktualizować poziomu mocy: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Inne zdarzenia</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Inne zdarzenia stanu</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Usuwanie innych użytkowników</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Banowanie innych użytkowników</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Zapraszanie innych użytkowników</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Redagowanie zdarzeń wysłanych przez innych</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Reakcje</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Przestarzałe zdarzenia dotyczące aliasów</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Zmiana awataru pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Zmiana adresów pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Wysyłanie szyfrowanych wiadomości</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>WÅ‚Ä…czenie szyfrowania</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Zmiana dostępu dla gości</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Zmiana widoczności historii</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Zmiana możliwości dołączenia do pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Wysyłanie wiadomości</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Zmiana nazwy pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Zmiana uprawnień pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Zmiana tematu pokoju</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Zmiana widżetów</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Zmiana widżetów (eksperymentalne)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Redagowanie własnych zdarzeń</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Zmiana przypiętych zdarzeń</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Aktualizowanie pokoju do nowszej wersji</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Wysyłanie naklejek</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Banowanie użytkowników przy użyciu reguł</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Banowanie pokojów przy użyciu reguł</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Banowanie serwerów przy użyciu reguł</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Rozpoczynanie rozmowy</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Negocjowanie rozmowy</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Odbieranie rozmowy</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Kończenie rozmowy</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Zmiana emotikon pokoju</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Inni użytkownicy</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>nazwa profilu</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Wyślij</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Napisz wiadomość…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Potwierdzenia przeczytania</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Wczoraj, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nazwa użytkownika</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Nazwa użytkownika nie może być pusta i może zawierać wyłącznie znaki a-z, 0-9, ., _, =, -, i /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Wróć</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Hasło</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Wpisz swoje hasło. Dokładne wymagania dotyczące jego siły mogą zależeć od Twojego serwera.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Potwierdzenie hasła</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Serwer domowy</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>twój.serwer</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Serwer, który pozwala na rejestrację. Ponieważ Matrix jest zdecentralizowany, musisz najpierw znaleźć serwer który pozwala na rejestrację bądź hostować swój własny.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Podane hasła nie są identyczne!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nazwa urzÄ…dzenia</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>ZAREJESTRUJ</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Automatyczne wykrywanie zakończone niepowodzeniem. Otrzymano nieprawidłową odpowiedź.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Automatyczne wykrywanie zakończone niepowodzeniem. Wystąpił nieznany błąd podczas próby dostępu do .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Nie odnaleziono wymaganych punktów końcowych. To może nie być serwer Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Otrzymano nieprawidłową odpowiedź. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Wystąpił nieznany błąd. Upewnij się, że domena serwera domowego jest prawidłowa.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Serwer nie wspiera podawania możliwych sposobów rejestracji!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Serwer nie pozwala na rejestracjÄ™.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Niepoprawna nazwa.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Nazwa jest już w użyciu.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Część zarezerwowanej przestrzeni nazw.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Zamknij</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Anuluj edycjÄ™</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Zamknij wÄ…tek</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>PrzeglÄ…daj publiczne pokoje</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Szukaj publicznych pokojów</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Wybierz własny serwer domowy</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>brak zapisanej wersji</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Nowy tag</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Wprowadź tag, którego chcesz użyć:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Otwórz w nowym oknie</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Ustawienia pokoju</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Opuść pokój</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Skopiuj link do pokoju</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Oznacz pokój tagiem:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Ulubione</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Niski priorytet</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Powiadomienie serwera</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Utwórz nowy tag…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Dodaj lub usuń ze społeczności...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Wiadomość Statusowa</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Wprowadź swoją wiadomość statusową:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Ustawienia profilu</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Ustaw wiadomość statusową</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Wyloguj</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Szyfrowanie nie zostało skonfigurowane</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Niezweryfikowana sesja</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Zweryfikuj swoje pozostałe urządzenia</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Zamknij</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Utwórz nowy czat</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Dołącz do pokoju</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Utwórz nowy pokój</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Rozpocznij czat bezpośredni</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Stwórz nową społeczność</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Katalog pokojów</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Szukaj pokojów (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Ustawienia użytkownika</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Obecni w %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n osoba w %1</numerusform>
-            <numerusform>%n osoby w %1</numerusform>
-            <numerusform>%n osób w %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Zaproś więcej ludzi</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Szukaj...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Sortuj według: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>ID użytkownika</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Wyświetlana nazwa</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Poziom mocy</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Administrator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Moderator: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Użytkownik: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Ten pokój nie jest szyfrowany!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Ten użytkownik został zweryfikowany.</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Niepoprawna nazwa.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Ten użytkownik nie został zweryfikowany, ale wciąż używa tego samego klucza głównego którego używał podczas waszej pierwszej rozmowy.</translation>
+        <source>Name already in use.</source>
+        <translation>Nazwa jest już w użyciu.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Ten użytkownik ma urządzenia, które nie zostały zweryfikowane!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Ustawienia pokoju</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Zmień awatar pokoju.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Zmień nazwę tego pokoju</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n członek</numerusform>
-            <numerusform>%n członkowie</numerusform>
-            <numerusform>%n członków</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Pokaż członków pokoju %1</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Brak ustawionego tematu</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Zmień temat tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>USTAWIENIA</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Powiadomienia</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Wyciszony</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Tylko wzmianki</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Wszystkie wiadomości</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Szyfrowanie</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Szyfrowanie end-to-end</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Szyfrowanie jest obecnie eksperymentalne, niektóre funkcjonalności mogą nagle przestać działać. &lt;br&gt;
-Zwróć uwagę, iż nie będzie ono mogło zostać wyłączone.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Uprawnienia</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Wyświetl i edytuj uprawnienia tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Wyświetl i edytuj adresy/aliasy tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Ustawienia naklejek i emotek</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Zmień</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Ukryte zdarzenia</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Konfiguruj</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Każdy może dołączyć</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Pozwól na pukanie</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Zastosuj reguły dostępu</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Aliasy</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Wybierz zdarzenia do ukrycia w tym pokoju</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Wewnętrzne ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Skopiowano do schowka</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Wersja Pokoju</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>pokaż mniej</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>pokaż więcej</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Nie udało się włączyć szyfrowania: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Wybierz awatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Wszystkie pliki (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Wybrany plik nie jest obrazem</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>BÅ‚Ä…d czytania pliku: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Nie udało się wysłać obrazu: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>OczekujÄ…ce zaproszenie.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>PodglÄ…d tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Podgląd pokoju niedostępny</translation>
+        <source>Part of the reserved namespace.</source>
+        <translation>Część zarezerwowanej przestrzeni nazw.</translation>
     </message>
 </context>
 <context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Wprowadź swoje hasło do konta, aby kontynuować:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Wprowadź prawidłowy adres email aby kontynuować:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Wprowadź prawidłowy numer telefonu aby kontynuować:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Zaczekaj na dostarczenie linku potwierdzającego, a następnie kontynuuj.</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>brak zapisanej wersji</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Udostępnić pulpit (desktop) użytkownikowi: %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Nie udało się włączyć szyfrowania: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Okno:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Wybierz awatar</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Klatek na sekundÄ™:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Wszystkie pliki (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>WÅ‚Ä…cz funkcjÄ™ picture-in-picture kamery</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Wybrany plik nie jest obrazem</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Poproś rozmówcę o włączenie kamery</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>BÅ‚Ä…d czytania pliku: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Wyświetl widok kamery rozmówcy jak podczas zwykłej rozmoowy wideo</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Nie udało się wysłać obrazu: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Ukryj kursor myszy</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>OczekujÄ…ce zaproszenie.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Udostępnij</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>PodglÄ…d tego pokoju</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>PodglÄ…d</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Podgląd pokoju niedostępny</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Błąd połączenia do menadżera sekretów</translation>
     </message>
@@ -3236,62 +1236,10 @@ Zwróć uwagę, iż nie będzie ono mogło zostać wyłączone.</translation>
         <translation>Nheko nie mógł połączyć się z menadżerem sekretów aby zapisać sekrety szyfrowania. Może to wynikać z wielu przyczyn. Sprawdź czy usługa D-Bus jest aktywna i czy masz skonfigurowaną usługę taką jak KWallet, Gnome Keyring, KeePassXC lub inną, odpowiednią dla platformy z której korzystasz. W przypadku problemów możesz zgłosić go tutaj: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Oto twój klucz odzyskiwania. Będziesz go potrzebować aby móc przywrócić dostęp do zaszyfrowanych wiadomości i kluczy weryfikacyjnych. Przechowuj go w bezpiecznym miejscu, nie udostępniaj go nikomu i nie zgub go!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Konfiguracja szyfrowania zakończona pomyślnie</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Konfiguracja szyfrowania zakończona niepowodzeniem: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Skonfiguruj szyfrowanie</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Witaj w sieci Matrix!
-Wygląda na to, że jesteś tu nowy(-a). Zanim będzie można bezpiecznie szyfrować Twoje wiadomości, musimy skonfigurować parę drobiazgów. Możesz od razu kliknąć &quot;akceptuj&quot; lub dostosować niektóre opcje. Postaramy się także wyjaśnić kilka podstaw. Możesz pominąć ten samouczek, choć może on okazać się&#xa0;pomocny!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Aktywuj szyfrowanie</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Wygląda na to, że masz już skonfigurowane szyfrowanie dla tego konta. Aby mieć dostęp do zaszyfrowanych wiadomości i oznaczyć to urządzenie jako zaufane możesz je zweryfikować przy użyciu innego istniejącego urządzenia (zaufanego) lub podać hasło odzyskiwania (jeśli zostało ustawione). Wybierz jedną z opcji poniżej:
-Jeśli zdecydujesz się na weryfikację, będziesz potrzebować innego zaufanego urządzania. Jeśli wybierzesz opcję &quot;Wprowadź hasło”, będziesz potrzebować klucza odzyskiwania lub hasła. Jeśli klikniesz przycisk &quot;anuluj&quot;, będziesz mógł/mogła zweryfikować to urządzenie później.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>zweryfikuj</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>wprowadź hasło</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Nie udało się utworzyć kluczy dla podpisywania krzyżowego!</translation>
     </message>
@@ -3324,19 +1272,19 @@ Jeśli zdecydujesz się na weryfikację, będziesz potrzebować innego zaufanego
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Nie udało się uaktualnić paczki obrazów: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Nie udało się usunąć starej paczki obrazów: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Nie udało się otworzyć obrazu: %1</translation>
     </message>
@@ -3347,97 +1295,10 @@ Jeśli zdecydujesz się na weryfikację, będziesz potrzebować innego zaufanego
         <translation>Nie udało się wysłać obrazu: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Dodaj lub usuń ze społeczności</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Oficjalna społeczność tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Powiązana społeczność tego pokoju</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Widoczna tylko dla członków społeczności</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Widoczna tylko dla członków pokoju</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>NiezwiÄ…zana</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Podspołeczności</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>BÅ‚Ä…d</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Wysłano</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Dostarczono</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Przeczytano</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Szukaj</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Weryfikacja udana</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Weryfikacja udana! Obaj rozmówcy zweryfikowali swoje urządzenia!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Zamknij</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Cenzurowanie wiadomości nie powiodło się: %1</translation>
@@ -3469,7 +1330,7 @@ Jeśli zdecydujesz się na weryfikację, będziesz potrzebować innego zaufanego
         <translation>Zapisz plik</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3758,254 +1619,96 @@ Powód: %4</translation>
         <translation>%2 odbanował(a) %1.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 odrzucił(a) zapukanie od %1.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 zmienił(a) swój awatar.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 zmodyfikował(a) dane profilu.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 dołączył(a).</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 dołączyła dzięki autoryzacji serwera użytkownika %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 odrzucił(a) zaproszenie.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 opuścił(a) pokój.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Powód: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>Użytkownik %1 ocenzurował własne pukanie.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Dołączyłeś(-aś) do tego pokoju.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 zaprosił(a) %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 zmienił(a) swój awatar i ustawił(a) wyświetlaną nazwę na %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 ustawił(a) swoją wyświetlaną nazwę na %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 opuścił(a) pokój po raz kolejny!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 zbanował(a) %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 zapukał(a).</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Edytowane</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Część wątku</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Brak otwartych pokojów</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Podgląd niedostępny</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Ustawienia</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n członek</numerusform>
-            <numerusform>%n członkowie</numerusform>
-            <numerusform>%n członków</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Pokaż członków %1</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>Dołącz do rozmowy</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>zaakceptuj zaproszenie</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>odrzuć zaproszenie</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Ukryj przyczynÄ™ zaproszenia</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Pokaż przyczynę zaproszenia</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Wróc do listy pokoi</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 odrzucił(a) zapukanie od %1.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Wróć do listy pokoi</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 zmienił(a) swój awatar.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Nie wybrano pokoju</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 zmodyfikował(a) dane profilu.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>W %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 dołączył(a).</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Pokaż członków pokoju.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 dołączyła dzięki autoryzacji serwera użytkownika %2.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Ten pokój zawiera wyłącznie zweryfikowane urządzenia.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 odrzucił(a) zaproszenie.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Ten pokój zawiera zweryfikowane urządzenia oraz urządzenia, które nigdy nie zmieniły swojego klucza głównego.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 opuścił(a) pokój.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Ten pokój zawiera niezweryfikowane urządzenia!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Powód: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Pokaż lub ukryj przypięte wiadomości</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>Użytkownik %1 ocenzurował własne pukanie.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Szukaj w tym pokoju</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Dołączyłeś(-aś) do tego pokoju.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Ustawienia pokoju</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Zaproś użytkowników</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 zaprosił(a) %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Członkowie</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 zmienił(a) swój awatar i ustawił(a) wyświetlaną nazwę na %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Opuść pokój</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 ustawił(a) swoją wyświetlaną nazwę na %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Ustawienia</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 opuścił(a) pokój po raz kolejny!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Odepnij</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 zbanował(a) %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Wpisz kryterium wyszukiwania</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 zapukał(a).</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Pokaż</translation>
     </message>
@@ -4018,13 +1721,13 @@ Powód: %4</translation>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Nie są dostępne żadne sposoby rejestracji!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Rejestracja przerwana</translation>
@@ -4040,113 +1743,10 @@ Powód: %4</translation>
         <translation>Nieprawidłowy token</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Wyślij plik</numerusform>
-            <numerusform>Wyślij %n pliki</numerusform>
-            <numerusform>Wyślij %n plików</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Globalny profil użytkownika</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Profil użytkownika w pokoju</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Zmień awatar globalnie.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Zmień awatar wyłącznie dla bieżącego pokoju.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Zmień nazwę wyświetlaną globalnie.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Zmień nazwę wyświetlaną wyłącznie dla bieżącego pokoju.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Pokój: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>To profil specyficzny dla tego pokoju. Nazwa użytkownika oraz awatar mogą być inne niż globalna nazwa użytkownika i globalny awatar.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Otwórz globalny profil tego użytkownika.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Zweryfikuj</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Rozpocznij prywatny czat.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Wyrzuć użytkownika.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Zbanuj użytkownika.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Odśwież listę urządzeń.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Wyloguj to urzÄ…dzenie.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Zmień nazwę urządzenia.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Ostatnio widziane %1 z %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Udweryfikuj</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Wyloguj urzÄ…dzenie %1</translation>
     </message>
@@ -4179,8 +1779,8 @@ Powód: %4</translation>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Domyślne</translation>
     </message>
@@ -4188,7 +1788,7 @@ Powód: %4</translation>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Motyw</translation>
     </message>
@@ -4257,6 +1857,11 @@ Powód: %4</translation>
         <source>Sort rooms by unreads</source>
         <translation>Sortuj pokoje po nieprzeczytanych wiadomościach</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4518,12 +2123,22 @@ Powód: %4</translation>
         <translation>Udostępnij informacje o pokojach poprzez D-Bus</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>Domyślne</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Ustaw dźwięk powiadomienia odtwarzanego podczas zaproszenia do połączenia</translation>
     </message>
@@ -4595,7 +2210,21 @@ This will also enable or disable sending typing notifications to others.</source
 Ta opcja odpowiada również za wysyłanie powiadomień o pisaniu do innych.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Pokazuj przyciski do szybkiej odpowiedzi, reakcji i menu dodatkowych opcji obok każdej wiadomości.</translation>
     </message>
@@ -4649,17 +2278,17 @@ This usually causes the application icon in the task bar to animate in some fash
 To zwykle sprawia, że ikona aplikacji na pasku zadań jest animowana.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Pasek społeczności</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Pokaż liczniki wiadomości dla społeczności i tagów</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Ustaw maksymalną szerokość wiadomości na osi czasu (w pikselach). Może to poprawić czytelność Nheko zmaksymalizowanego na szerokim ekranie</translation>
     </message>
@@ -4669,14 +2298,7 @@ To zwykle sprawia, że ikona aplikacji na pasku zadań jest animowana.</translat
         <translation>Pokaż kolumnę zawierającą społeczności i tagi obok listy pokojów.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4766,7 +2388,17 @@ This setting will take effect upon restart.</source>
 To ustawienie wejdzie w życie po restarcie aplikacji.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Wybierz plik</translation>
     </message>
@@ -4776,7 +2408,7 @@ To ustawienie wejdzie w życie po restarcie aplikacji.</translation>
         <translation>Wszystkie pliki (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Otwórz plik sesji</translation>
     </message>
@@ -4818,117 +2450,18 @@ To ustawienie wejdzie w życie po restarcie aplikacji.</translation>
         <translation>Plik, do którego zostaną wyeksportowane klucze sesji</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>POPROÅš O</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>POBIERZ</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>ZAPISANO W PAMIĘCI PODRĘCZNEJ</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>BRAK W PAMIĘCI PODRĘCZNEJ</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Wróć</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTUJ</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EKSPORTUJ</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Nie znaleziono zaszyfrowanego prywatnego czatu z tym użytkownikiem. Utwórz nowy zaszyfrowany prywatny czat z tym użytkownikiem i spróbuj ponownie.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Oczekiwanie na drugą stronę…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Oczekiwanie na przyjęcie prośby o weryfikację przez drugą stronę.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Oczekiwanie na kontynuowanie weryfikacji przez drugÄ… stronÄ™.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Oczekiwanie na dokończenie weryfikacji przez drugą stronę.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Witamy w Nheko! Oto desktopowy klient protokołu Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Udanego pobytu!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>ZAREJESTRUJ SIĘ</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ZALOGUJ SIĘ</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Wczoraj</translation>
     </message>
@@ -4936,7 +2469,7 @@ To ustawienie wejdzie w życie po restarcie aplikacji.</translation>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>W razie konieczności otwórz w przeglądarce</translation>
     </message>
@@ -4957,32 +2490,52 @@ To ustawienie wejdzie w życie po restarcie aplikacji.</translation>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Otwórz reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Ludzie</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Przyroda</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Potwierdź</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Jedzenie</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Rozwiąż reCAPTCHA i naciśnij przycisk „potwierdź”</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktywność</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Podróże</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Przedmioty</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Symbole</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Flagi</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Wysłałeś(aś) klip audio</translation>
     </message>
@@ -5043,24 +2596,24 @@ To ustawienie wejdzie w życie po restarcie aplikacji.</translation>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Ty: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_pt_BR.ts b/resources/langs/nheko_pt_BR.ts
index 43ae3f0bd25cef3091225a84abe8346ea57a7319..cfb09f6065599ff27e149a6b10c0d4e33dabaf28 100644
--- a/resources/langs/nheko_pt_BR.ts
+++ b/resources/langs/nheko_pt_BR.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="pt_BR">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Ligando...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Conectando...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Você está compartilhando sua tela</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Esconder/Mostrar Picture-in-Picture</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Ligar Microfone</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Desligar Microfone</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Chamada de Vídeo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Chamada de Voz</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Nenhum microfone encontrado.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Chamada de Vídeo</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Chamada de Voz</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Dispositivos</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Aceitar</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Microfone desconhecido: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Câmera desconhecida: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Rejeitar</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Nenhum microfone encontrado.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Tela Inteira</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Falha ao convidar usuário: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Usuário convidado: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Confirmar convite</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Deseja realmente convidar %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Usuário desbanido: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Você realmente quer iniciar um chat privado com %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Migração do cache falhou!</translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Versão do cache incompatível</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Falha ao restaurar conta OLM. Por favor faça login novamente.</translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Todas as salas</translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Mensagens do seu servidor ou do administrador.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2343 +630,583 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Descriptografar segredos</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Insira sua chave de recuperação ou senha para descriptografar seus segredos:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Falha ao descriptografar</translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Falha ao descriptografar segredos com a chave de recuperação ou senha inserida</translation>
+    </message>
+</context>
+<context>
+    <name>EventExpiry</name>
+    <message>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Descriptografar segredos</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Insira sua chave de recuperação ou senha para descriptografar seus segredos:</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Falha ao descriptografar</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Falha ao descriptografar segredos com a chave de recuperação ou senha inserida</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Código de Verificação</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Eles não são iguais!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Eles são iguais!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Pesquisar</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Pessoas</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Natureza</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Comida</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Atividade</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Viagem</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objetos</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Símbolos</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Bandeiras</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Código de Verificação</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Por favor verifique o emoji a seguir. Você deve ver o mesmo emoji em ambos os lados. Se eles forem diferentes, por favor aperte &apos;Eles não são iguais!&apos; para abortar a verificação!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Eles não são iguais!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Eles são iguais!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Não existe uma chave para desbloquear esta mensagem. Nós pedimos pela chave automaticamente, mas você pode tentar pedir novamente se for impaciente.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
+    <name>RoomInfo</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>New room pack</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Private pack</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished">Aceitar</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished">Nenhum microfone encontrado.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -3134,302 +1214,88 @@ Example: https://server.my:8787</source>
         <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished">Pesquisar</translation>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3725,412 +1591,153 @@ If you choose verify, you need to have the other device available. If you choose
     <message>
         <location line="+1"/>
         <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished">Você entrou nessa sala.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation type="unfinished">Você entrou nessa sala.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4790,117 +2429,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4908,7 +2448,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4929,32 +2469,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Pessoas</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Natureza</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Comida</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Atividade</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Viagem</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objetos</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Símbolos</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Bandeiras</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_pt_PT.ts b/resources/langs/nheko_pt_PT.ts
index e1b86e2cf719944e511390628486ea54d9e6e1a4..78f301e0d2e8497f3bc2a2b10a3e83573d6eb792 100644
--- a/resources/langs/nheko_pt_PT.ts
+++ b/resources/langs/nheko_pt_PT.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="pt_PT">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>A chamar...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>A ligar...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Está a partilhar o seu ecrã</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Mostrar/Ocultar Picture-in-Picture</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Ativar microfone</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Desativar microfone</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Falha ao atualizar alcunhas: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Alcunhas de %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Lista de alcunhas desta sala. Normalmente só é possível adicionar alcunhas no seu servidor. Pode existir uma alcunha canónica e várias outras alternativas.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Alcunha principal</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Tornar alcunha principal</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Publicitar como uma alcunha nesta sala</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Publicar no diretório de salas</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Remover esta alcunha</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#nova-alcunha:servidor.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Adicionar</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Definições das salas permitidas</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Lista de salas que podem aceder a esta. Qualquer membro dessas salas pode aceder a esta.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished">Comunidade mãe</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Outra sala</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Insira salas adicionais ainda não presentes na lista...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 e outro %n</numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Sala vazia</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videochamada</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Chamada</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Nenhum microfone encontrado.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videochamada</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Chamada</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Dispositivos</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Aceitar</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Microfone desconhecido: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Câmara desconhecida: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Recusar</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Nenhum microfone encontrado.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Ecrã inteiro</translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Falha ao convidar utilizador: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Utilizador convidado: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Confirmar saída</translation>
     </message>
@@ -237,7 +85,7 @@
         <translation>A cache no seu disco é mais recente do que aquela que esta versão do Nheko suporta. Por favor atualize o Nheko ou limpe a sua cache.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Falha ao abrir base de dados. A terminar sessão!</translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Confirmar convite</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Tem a certeza que quer convidar %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Utilizador perdoado: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Tem a certeza que quer começar uma conversa privada com %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Falha ao migrar a cache!</translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Versão da cache incompatível</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Falha ao restaurar a sua conta OLM. Por favor autentique-se novamente.</translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Todas as salas</translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Mensagens do seu servidor ou administrador.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2437 +630,600 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Desencriptar segredos</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Insira a sua chave de recuperação ou palavra-passe para desencriptar os seus segredos:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Insira a sua chave de recuperação ou palavra-passe chamada %1 para desencriptar os seus segredos:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Falha ao desencriptar</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Falha ao desencriptada segredos com a chave ou palavra-passe dada</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Todos os ficheiros (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Encriptação</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Inseriu um ID Matrix inválido  p. ex. @ze:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Nome</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Falha na descoberta automática. Reposta mal formatada recebida.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Falha na descoberta automática. Erro desconhecido ao solicitar &quot;.well-known&quot;.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Não foi possível encontrar os funções (&quot;endpoints&quot;) necessárias. Possivelmente não é um servidor Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Resposta mal formada recebida. Certifique-se que o domínio do servidor está correto.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Tópico</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Erro desconhecido. Certifique-se que o domínio do servidor é válido.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Alcunha</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Encriptação</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation type="unfinished">ENTRAR COM ISU (SSO)</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Palavra-passe vazia</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Falha no ISU (SSO)</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Desencriptar segredos</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Insira a sua chave de recuperação ou palavra-passe para desencriptar os seus segredos:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished">Falha ao carregar mídia. Por favor, tente novamente.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Insira a sua chave de recuperação ou palavra-passe chamada %1 para desencriptar os seus segredos:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 enviou uma mensagem encriptada</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Falha ao desencriptar</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 respondeu: %2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Falha ao desencriptada segredos com a chave ou palavra-passe dada</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 respondeu com uma mensagem encriptada</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Código de verificação</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 respondeu a uma mensagem</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Por favor verifique os seguintes dígitos.  Deve ver os mesmos em ambos os lados. Se forem diferentes, carregue em &quot;Não coincidem!&quot; para abortar a verificação!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 enviou uma mensagem</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Não coincidem!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Coincidem!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Procurar</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Pessoas</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Natureza</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Comida</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Actividades</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Viagem</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objetos</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Símbolos</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Bandeiras</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Código de verificação</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Por favor verifique os seguintes emojis. Deve ver os mesmos em ambos os lados. Se não coincidirem, carregue em &quot;Não coincidem!&quot; para abortar a verificação!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Não coincidem!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Coincidem!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Não existe nenhuma chave para desbloquear esta mensagem. Nós pedimos a chave automaticamente, mas pode tentar pedi-la outra vez se estiver impaciente.</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Esta mensagem não pôde ser desencriptada, porque apenas temos uma chave para mensagens mais recentes. Pode tentar solicitar acesso a esta mensagem.</translation>
+        <source>Send messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Ocorreu um erro interno ao ler a chave de desencriptação da base de dados.</translation>
+        <source>Change the room name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Ocorreu um erro ao desencriptar esta mensagem.</translation>
+        <source>Change the room permissions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Esta mensagem não pôde ser processada.</translation>
+        <source>Change the rooms topic</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Esta chave de encriptação foi reutilizada! É possível que alguém esteja a tentar inserir mensagens falsas nesta conversa!</translation>
+        <source>Change the widgets</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Erro de desencriptação desconhecido</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Solicitar chave</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Esta mensagem não está encriptada!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Encriptado por um dispositivo verificado.</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Encriptado por um dispositivo não verificado, mas até agora tem confiado neste utilizador.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Encriptado por um dispositivo não verificado ou a chave é de uma fonte não confiável, como o backup da chave.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Falha ao verifcar</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>O outro cliente não suporta o nosso protocolo de verificação.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Detetada divergência de chaves!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>A verificação do dispositivo expirou.</translation>
+        <source>Negotiate a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>A outra parte cancelou a verificação.</translation>
+        <source>Answer a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Mensagens de verificação recebidas fora de ordem!</translation>
+        <source>Hang up a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Erro de verificação desconhecido.</translation>
+        <source>Reject a call</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Fechar</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Reencaminhar mensagem</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>perfil</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>nome de perfil</translation>
+    </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
+    <name>QObject</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Send</source>
+        <translation type="unfinished">Enviar</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
+        <source>Write a message...</source>
+        <translation type="unfinished">Escreva uma mensagem…</translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation type="unfinished">Autocolantes</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Ontem, %1</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>RegisterPage</name>
+    <message>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Falha na descoberta automática. Resposta mal formada recebida.</translation>
+    </message>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>A editar pacote de imagens</translation>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Falha na descoberta automática. Erro desconhecido ao requisitar &quot;.well-known&quot;.</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Adicionar imagens</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Não foi possível encontrar os funções (&quot;endpoints&quot;) necessárias. Possivelmente não é um servidor Matrix.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Resposta mal formada recebida. Certifique-se que o domínio do servidor está correto.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Erro desconhecido. Certifique-se que o domínio do servidor é válido.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Chave de estado</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Nome do pacote</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Atribuição</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Usar como emoji</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Usar como autocolante</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Código</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Corpo</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Remover do pacote</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Remover</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Definições do pacote de imagens</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Criar pacote de conta</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Criar pacote de sala</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Pacote privado</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Pacote desta sala</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Pacote ativo globalmente</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Ativar globalmente</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Permite que o pacote seja usado em todas as salas</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Editar</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Fechar</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Todos os ficheiros (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Convidar utilizadores para %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@ze:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Convidar</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Entrar na sala</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>ID ou alcunha da sala</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Sair da sala</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Tem a certeza que quer sair?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>ID Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>p. ex. @ze:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Palavra-passe</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>A sua palavra-passe</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nome do dispositivo</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Endereço do servidor</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>servidor.meu:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>INCIAR SESSÃO</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Inseriu um ID Matrix inválido  p. ex. @ze:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Falha na descoberta automática. Reposta mal formatada recebida.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Falha na descoberta automática. Erro desconhecido ao solicitar &quot;.well-known&quot;.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Não foi possível encontrar os funções (&quot;endpoints&quot;) necessárias. Possivelmente não é um servidor Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Resposta mal formada recebida. Certifique-se que o domínio do servidor está correto.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Erro desconhecido. Certifique-se que o domínio do servidor é válido.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished">ENTRAR COM ISU (SSO)</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Palavra-passe vazia</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Falha no ISU (SSO)</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Terminar sessão</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Há uma chamada em curso. Terminar sessão?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Tem a certeza que quer terminar a sessão?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished">Falha ao carregar mídia. Por favor, tente novamente.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 alterou o ícone da sala</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 criou e configurou a sala: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 iniciou uma chamada de voz.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 iniciou uma chamada de vídeo.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 iniciou uma chamada.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Permitir a entrada</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 atendeu a chamada.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 terminou a chamada.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Desligar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Iniciar chamada</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Enviar um ficheiro</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Escreva uma mensagem…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Autocolantes</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Enviar</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Não tem permissão para enviar mensagens nesta sala</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Editar</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Reagir</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Responder</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Opções</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Copiar</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Copiar localização da &amp;ligação</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Re&amp;agir</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Responde&amp;r</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Editar</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>Reen&amp;caminhar</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Marcar como lida</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Ver mensagem bruta</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Ver mensagem bruta desencriptada</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Remo&amp;ver mensagem</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Guardar como</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>Abrir num &amp;programa externo</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Copiar ligação para o eve&amp;nto</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>Ir para mensagem &amp;citada</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Enviar pedido de verificação</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Pedido de verificação recebido</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Para garantir que nenhum utilizador mal-intencionado possa intercetar as suas comunicações encriptadas, pode verificar a outra parte.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 requisitou a verificação do seu dispositivo %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1, usando o dispositivo %2, requisitou a sua verificação.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>O seu dispositivo (%1) requisitou a sua verificação.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Recusar</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Iniciar verificação</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Aceitar</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Está prestes a notificar toda a sala</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 enviou uma mensagem encriptada</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 respondeu: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 respondeu com uma mensagem encriptada</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 respondeu a uma mensagem</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 enviou uma mensagem</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Iniciar chamada para %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Nenhum microfone encontrado.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Voz</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Vídeo</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Ecrã</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>evento não implementado: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished">Adicionar</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>perfil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>nome de perfil</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Enviar</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Escreva uma mensagem…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Recibos de leitura</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Ontem, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nome de utilizador</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>O nome de utilizador não pode ser vazio e tem que conter apenas os caracteres a-z, 0-9, ., _, =, - e /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Palavra-passe</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Por favor, escolha uma palavra-passe segura. Os requisitos exatos para a força da palavra-passe poderão depender no seu servidor.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Confirmação da palavra-passe</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Servidor</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Um servidor que permita registos. Uma vez que a Matrix é descentralizada, o utilizador precisa primeiro de encontrar um servidor onde se possa registar, ou alojar o seu próprio.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Nome do dispositivo</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTAR</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Falha na descoberta automática. Resposta mal formada recebida.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Falha na descoberta automática. Erro desconhecido ao requisitar &quot;.well-known&quot;.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Não foi possível encontrar os funções (&quot;endpoints&quot;) necessárias. Possivelmente não é um servidor Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Resposta mal formada recebida. Certifique-se que o domínio do servidor está correto.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Erro desconhecido. Certifique-se que o domínio do servidor é válido.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Fechar</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Explorar salas públicas</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Procurar por salas públicas</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Escolher servidor personalizado</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>nenhuma versão guardada</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Nova etiqueta</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Insira a etiqueta que quer usar:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Sair da sala</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Etiquetar sala com:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Favoritos</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Prioridade baixa</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Avisos do servidor</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Criar nova etiqueta...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Mensagem de estado</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Insira a sua mensagem de estado:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Definições de perfil</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Definir mensagem de estado</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Terminar sessão</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Encriptação não configurada</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Sessão não verificada</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Por favor, verifique os seus outros dispositivos</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Fechar</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Iniciar uma nova conversa</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Entrar numa sala</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Criar uma nova sala</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Diretório de salas</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Definições de utilizador</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Membros de %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n pessoa em %1</numerusform>
-            <numerusform>%n pessoas em %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Convidar mais pessoas</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Esta sala não está encriptada!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Este utilizador está verificado.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Este utilizador não está verificado, mas continua a usar a mesma chave-mestra da primeira vez que se conheceram.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Este utilizador tem dispositivos não verificados!</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>nenhuma versão guardada</translation>
     </message>
 </context>
 <context>
     <name>RoomSettings</name>
     <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Definições de sala</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>DEFINIÇŎES</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Notificações</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Silenciada</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Apenas menções</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Todas as mensagens</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Encriptação</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Encriptação ponta-a-ponta</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Definições de autocolantes e emojis</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Alterar</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>INFO</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>ID interno</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Versão da sala</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Falha ao ativar encriptação: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Selecionar um ícone</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Todos os ficheiros (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>O ficheiro selecionado não é uma imagem</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Erro ao ler ficheiro: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Falha ao carregar imagem: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Convite pendente.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>A pré-visualizar esta sala</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Pré-visualização não disponível</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Por favor, insira a sua palavra-passe para continuar:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Por favor, insira um endereço de correio eletrónico válido para continuar:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Por favor, insira um número de telefone válido para continuar:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Aguarde pela chegada da ligação de confirmação, depois continue.</translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Partilhar ambiente de trabalho com %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Falha ao ativar encriptação: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Janela:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Selecionar um ícone</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Taxa de fotogramas:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Todos os ficheiros (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Incluir a sua câmara em miniatura</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>O ficheiro selecionado não é uma imagem</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Requisitar câmara remota</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Erro ao ler ficheiro: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Falha ao carregar imagem: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Esconder cursor do rato</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Convite pendente.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Partilhar</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>A pré-visualizar esta sala</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Pré-visualizar</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Pré-visualização não disponível</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Falha ao ligar ao armazenamento secreto</translation>
     </message>
@@ -3230,62 +1233,10 @@ Example: https://server.my:8787</source>
         <translation>O Nheko não se conseguiu ligar ao armazenamento seguro para guardar os segredos de encriptação. Isto pode-se dever a vários motivos. Verifique se o seu serviço D-Bus está a correr e se configurou um serviço como o KWallet, Gnome Keyring, KeePassXC ou o equivalente da sua plataforma. Caso continue a ter problemas, não hesite em abrir um tópico aqui: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished">Esta é a sua chave de recuperação. Irá necessitar dela para restabelecer o acesso às suas mensagens encriptadas e chaves de verificação. Mantenha-a segura. Não a partilhe com ninguém e não a perca! Não aceite dinheiro em troca da chave!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Encriptação configurada com sucesso</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Falha ao configurar encriptação: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Configurar encriptação</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Olá, seja bem-vindo à Matrix!
-Parece que é a sua primeira vez aqui. Antes de poder encriptar as suas mensagens de forma segura, é necessário configurar algumas coisas. Pode premir &quot;Aceitar&quot; logo, ou ajustar algumas opções básicas, que tentaremos explicar como funcionam. Poderá saltar essas partes, mas elas podem vir a ser úteis!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Ativar encriptação</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Parece que já possui configurações de encriptação nesta conta. Para poder aceder às suas mensagens encriptadas e fazer este dispositivo aparecer como de confiança, pode ou verificar um dispositivo existente, ou inserir a sua palavra-passe de recuperação, caso a tenha. Por favor, escolha uma das opções abaixo.
-Se escolher a verificação, terá que ter o outro dispositivo disponível. Se escolher a palavra-passe, irá necessitar da chave de recuperação. Também pode cancelar e verificar-se mais tarde.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>verificar</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>inserir palavra-passe</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Falha ao criar chaves para assinatura cruzada!</translation>
     </message>
@@ -3318,19 +1269,19 @@ Se escolher a verificação, terá que ter o outro dispositivo disponível. Se e
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Falha ao atualizar pacote de imagem: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Falha ao eliminar pacote de imagem antigo: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Falha ao abrir imagem: %1</translation>
     </message>
@@ -3341,97 +1292,10 @@ Se escolher a verificação, terá que ter o outro dispositivo disponível. Se e
         <translation>Falha ao carregar imagem: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Falhou</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Enviado</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Recebido</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Lido</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Procurar</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Verificação bem sucedida</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verificação bem sucedida!  Ambos os lados verificaram os seus dispositivos!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Fechar</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Falha ao eliminar mensagem: %1</translation>
@@ -3463,7 +1327,7 @@ Se escolher a verificação, terá que ter o outro dispositivo disponível. Se e
         <translation>Guardar ficheiro</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3761,238 +1625,81 @@ Reason: %4</source>
         <translation>%1 alterou alguma informação de perfil.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 entrou.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 entrou com autorização do servidor de %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 recusou o seu convite.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 saiu da sala.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Razão: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 eliminou a sua &quot;batida à porta&quot;.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Entrou na sala.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 alterou o seu avatar e também o seu nome de exibição para %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 alterou o seu nome de exibição para %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 saiu depois de já ter saído!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 bateu à porta.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Editada</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Nenhuma sala aberta</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Pré-visualização não disponível</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Definições</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>juntar-se à conversa</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>aceitar convite</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>recusar convite</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Voltar à lista de salas</translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Voltar à lista de salas</translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Nenhuma sala selecionada</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 entrou.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 entrou com autorização do servidor de %2.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 recusou o seu convite.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Esta sala contém apenas dispositivos verificados.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 saiu da sala.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Esta sala contém dispositivos verificados e/ou que nunca alteraram a sua chave mestra.</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Razão: %1</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Esta sala contém dispositivos não verificados!</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 eliminou a sua &quot;batida à porta&quot;.</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Entrou na sala.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Opções da sala</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Convidar utilizadores</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Membros</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 alterou o seu avatar e também o seu nome de exibição para %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Sair da sala</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 alterou o seu nome de exibição para %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Definições</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 saiu depois de já ter saído!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 bateu à porta.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Mostrar</translation>
     </message>
@@ -4005,13 +1712,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Nenhum processo de registo disponível!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Registo abortado</translation>
@@ -4027,112 +1734,10 @@ Reason: %4</source>
         <translation>Código inválido</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Perfil de utilizador global</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Perfil de utilizador na sala</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Alterar avatar globalmente.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Alterar avatar. Irá apenas afetar esta sala.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Alterar nome de exibição globalmente.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Alterar nome de exibição. Irá apenas afetar esta sala.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Sala: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Este é um perfil específico desta sala. O nome e avatar do utilizador poderão ser diferentes dos seus homólogos globais.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Abrir o perfil global deste utilizador.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Verificar</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Iniciar uma conversa privada.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Expulsar o utilizador.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Banir o utilizador.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Atualizar a lista de dispositivos.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Terminar sessão neste dispositivo.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Alterar nome do dispositivo.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Ativo pela última vez a %1 em %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Anular verificação</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Terminar sessão no dispositivo %1</translation>
     </message>
@@ -4165,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>Predefinido</translation>
     </message>
@@ -4174,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Tema</translation>
     </message>
@@ -4243,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Ordenar salas por não lidas</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4504,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished">Predefinido</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished">Tocar o som de notificação quando chegar um convite de chamada</translation>
     </message>
@@ -4582,7 +2202,21 @@ This will also enable or disable sending typing notifications to others.</source
 Irá também ativar ou desativar o envio de notificações de escrita para outros.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished">Mostrar botões para resposta rápida, reações ou acesso a opções adicionais junto de cada mensagem.</translation>
     </message>
@@ -4634,17 +2268,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished">Mostrar alerta quando é recebida uma mensagem.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4654,14 +2288,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4746,7 +2373,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">Selecionar um ficheiro</translation>
     </message>
@@ -4756,7 +2393,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Todos os ficheiros (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Abrir ficheiro de sessões</translation>
     </message>
@@ -4798,117 +2435,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Ficheiro onde guardar as chaves de sessão exportadas</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>PEDIR</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>DESCARREGAR</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>ARMAZENADO EM CACHE</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>NÃO ARMAZENADO EM CACHE</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTAR</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTAR</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Não foi encontrada nenhuma conversa privada e encriptada com este utilizador. Crie uma e tente novamente.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Bem-vindo(a) ao Nheko! Um cliente de computador para o protocolo Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished">REGISTAR</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation type="unfinished">INCIAR SESSÃO</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Ontem</translation>
     </message>
@@ -4916,7 +2454,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4937,32 +2475,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Pessoas</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Natureza</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Confirmar</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Comida</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Solucione o reCAPTCHA e clique no botão de confirmação</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Actividades</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Viagem</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objetos</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Símbolos</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Bandeiras</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Enviou uma mensagem áudio</translation>
     </message>
@@ -5023,24 +2581,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Você: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_ro.ts b/resources/langs/nheko_ro.ts
index 597027407be220b652168d6232519255936ee278..4006c3205e9854148a433f077e59cec5a8b22e17 100644
--- a/resources/langs/nheko_ro.ts
+++ b/resources/langs/nheko_ro.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ro">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -140,76 +30,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished">Dispozitive</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished">Acceptare</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation type="unfinished">Refuzare</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -217,18 +56,28 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Nu s-a putut invita utilizatorul: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Utilizator invitat: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -238,7 +87,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -269,12 +118,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -319,12 +168,12 @@
         <translation>Utilizator dezinterzis: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Nu s-a putut migra cache-ul!</translation>
     </message>
@@ -346,7 +195,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Versiune cache incompatibilă</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Nu s-a putut restabili contul OLM. Vă rugăm să vă reconectați.</translation>
     </message>
@@ -419,16 +268,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -539,6 +383,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -680,47 +534,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished">Toate camerele</translation>
     </message>
@@ -770,7 +611,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -791,2503 +632,613 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>GridImagePackModel</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HiddenEvents</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">Toate fișierele (*)</translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Nume</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Autodescoperirea a eșuat. Răspunsul primit este defectuos.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Autodescoperirea a eșuat. Eroare necunoscută la solicitarea .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Punctele finale necesare nu au fost găsite. Posibil a nu fi un server Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Răspuns eronat primit. Verificați ca domeniul homeserverului să fie valid.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Subiect</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>A apărut o eroare necunoscută. Verificați ca domeniul homeserverului să fie valid.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Alias</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>CONECTARE SSO</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Parolă necompletată</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation type="unfinished"></translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Conectarea SSO a eșuat</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
+    <message>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation type="unfinished">%1 a trimis un mesaj criptat</translation>
+    </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Activitate</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Obiecte</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Simboluri</translation>
+        <source>Deprecated aliases events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Steaguri</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation type="unfinished">ÃŽnchide</translation>
-    </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
-    <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QObject</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+1"/>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished">Autodescoperirea a eșuat. Răspunsul primit este defectuos.</translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished">Autodescoperirea a eșuat. Eroare necunoscută la solicitarea .well-known.</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished">Punctele finale necesare nu au fost găsite. Posibil a nu fi un server Matrix.</translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Răspuns eronat primit. Verificați ca domeniul homeserverului să fie valid.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">A apărut o eroare necunoscută. Verificați ca domeniul homeserverului să fie valid.</translation>
     </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>New room pack</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Private pack</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">ÃŽnchide</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">Toate fișierele (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Anulare</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">IDul camerei sau alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Părăsește camera</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">Sigur vrei să părăsești camera?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>ID Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>ex. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Parolă</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Nume dispozitiv</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>CONECTARE</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Autodescoperirea a eșuat. Răspunsul primit este defectuos.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Autodescoperirea a eșuat. Eroare necunoscută la solicitarea .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Punctele finale necesare nu au fost găsite. Posibil a nu fi un server Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Răspuns eronat primit. Verificați ca domeniul homeserverului să fie valid.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>A apărut o eroare necunoscută. Verificați ca domeniul homeserverului să fie valid.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>CONECTARE SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Parolă necompletată</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Conectarea SSO a eșuat</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 a creat și configurat camera: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 a răspuns apelului.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 a închis apelul.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished">Răspuns</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished">Opțiuni</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished">Vedeți mesajul brut</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished">Vedeți mesajul brut decriptat</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Anulare</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished">Acceptare</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished">%1 a trimis un mesaj criptat</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Anulare</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>eveniment neimplementat: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished">Confirmări de citire</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Nume de utilizator</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Numele de utilizator nu poate fi gol, și trebuie să conțină doar caracterele a-z, 0-9, ., =, - și /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Parolă</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Vă rugăm să alegeți o parolă sigură. Cerințele necesare pentru rezistența parolei pot depinde de serverul dumneavoastră.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Confirmare parolă</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Homeserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Un server care permite înregistrarea. Deoarece Matrix este decentralizat, trebuie să găsiți un server pe care să vă înregistrați sau să vă găzduiți propriul server.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Nume dispozitiv</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>ÃŽNREGISTRARE</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished">Autodescoperirea a eșuat. Răspunsul primit este defectuos.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished">Autodescoperirea a eșuat. Eroare necunoscută la solicitarea .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished">Punctele finale necesare nu au fost găsite. Posibil a nu fi un server Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Răspuns eronat primit. Verificați ca domeniul homeserverului să fie valid.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">A apărut o eroare necunoscută. Verificați ca domeniul homeserverului să fie valid.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished">ÃŽnchide</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>nicio versiune stocată</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Părăsește camera</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished">Deconectare</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">ÃŽnchide</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished">Începe o nouă conversație</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished">Alătură-te unei camere</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished">Registru de camere</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished">Setări utilizator</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished">Criptare Capăt-la-Capăt</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished">Nu s-a putut activa criptarea: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished">Selectează un avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">Toate fișierele (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished">Fișierul selectat nu este imagine</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished">Eroare întâmpinată la citirea fișierului: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished">Nu s-a putut încărca imaginea: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Anulare</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>nicio versiune stocată</translation>
     </message>
 </context>
 <context>
-    <name>SecretStorage</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation type="unfinished">Nu s-a putut activa criptarea: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation type="unfinished">Selectează un avatar</translation>
     </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
     <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">Toate fișierele (*)</translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation type="unfinished">Fișierul selectat nu este imagine</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation type="unfinished">Eroare întâmpinată la citirea fișierului: %1</translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation type="unfinished">Nu s-a putut încărca imaginea: %s</translation>
+    </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+7"/>
-        <source>verify</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3320,19 +1271,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3343,97 +1294,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Eșuat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Trimis</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Primit</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Citit</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation type="unfinished">ÃŽnchide</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Redactare mesaj eșuată: %1</translation>
@@ -3465,7 +1329,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Salvați fișier</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3793,214 +1657,56 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 și-a redactat ciocănitul.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Te-ai alăturat camerei.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 a părăsit camera după ce a părăsit-o deja înainte!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 a ciocănit.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Nicio cameră deschisă</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Setări</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 și-a redactat ciocănitul.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Te-ai alăturat camerei.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Părăsește camera</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation type="unfinished">Setări</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 a părăsit camera după ce a părăsit-o deja înainte!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 a ciocănit.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Arată</translation>
     </message>
@@ -4013,13 +1719,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation type="unfinished"></translation>
@@ -4035,113 +1741,10 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4174,8 +1777,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4183,7 +1786,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Temă</translation>
     </message>
@@ -4252,6 +1855,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Sortează camerele după necitite</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4513,12 +2121,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4587,7 +2205,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4639,17 +2271,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished">Arată o alertă când primiți un mesaj. Deobicei pictograma aplicației se animează în taskbar.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4659,14 +2291,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4749,7 +2374,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4759,7 +2394,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Toate fișierele (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Deschide fișierul de sesiuni</translation>
     </message>
@@ -4801,117 +2436,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Fișier pentru salvarea cheilor de sesiune exportate</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTARE</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTARE</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Anulare</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Bine ați venit în nheko! Clientul desktop pentru protocolul Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Ședere plăcută!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>ÃŽNREGISTRARE</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>CONECTARE</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Ieri</translation>
     </message>
@@ -4919,7 +2455,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Deschide Fallback în Browser</translation>
     </message>
@@ -4940,32 +2476,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Anulare</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Confirmare</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Rezolvă reCAPTCHA și apasă butonul de confirmare</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Activitate</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Obiecte</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Simboluri</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Steaguri</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Ai trimis un clip audio</translation>
     </message>
@@ -5026,24 +2582,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Tu: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_ru.ts b/resources/langs/nheko_ru.ts
index 444a6f38febeb69408245da5692f5edf39f18881..b817e47c7508b93546e0e4205e4df0b649733216 100644
--- a/resources/langs/nheko_ru.ts
+++ b/resources/langs/nheko_ru.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ru">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Вызов…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Соединение…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Вы демонстрируете экран.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Убрать/Показать Картинку-в-Картинке</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Включить микрофон</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Выключить микрофон</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Не удалось обновить псевдонимы: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Псевдонимы для %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Список псевдонимов (альтернативных имён) данной комнаты. Обычно, Вы можете задать псевдонимы лишь на своём домашнем сервере. Комнаты могут иметь лишь одно каноническое имя и множество псевдонимов.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Основное имя</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Представиться в данной комнате под псевдонимом</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Опубликовать в списке комнат</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Удалить псевдоним</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Добавить</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Родительское сообщество</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Другая комната</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 и ещё %n</numerusform>
@@ -140,76 +30,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Пустая Комната</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Видео Звонок</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Голосовой Звонок</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Микрофон не найден.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Видеозвонок</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Голосовой Звонок</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Устройства</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Принять</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Неопознанный микрофон: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Неопознанная камера: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Отклонить</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Микрофон не найден.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Весь экран</translation>
     </message>
@@ -217,18 +56,28 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Не удалось пригласить пользователя: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Приглашенный пользователь: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -238,7 +87,7 @@
         <translation>Версия кэша на вашем диске новее той, что поддерживается текущей версией Nheko. Пожалуйста, обновите Nheko или очистите кэш.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Ошибка при попытке открыть базу данных, выходим из аккаунта!</translation>
     </message>
@@ -269,12 +118,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Подтвердите приглашение</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Вы точно хотите пригласить %1 (%2)?</translation>
     </message>
@@ -319,12 +168,12 @@
         <translation>Разблокированный пользователь: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Вы действительно хотите начать личную переписку с %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Миграция кэша не удалась!</translation>
     </message>
@@ -346,7 +195,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Несовместимая версия кэша</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Не удалось восстановить учетную запись OLM. Пожалуйста, войдите снова.</translation>
     </message>
@@ -419,16 +268,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Отсутствует подключение к сети</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -539,6 +383,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -680,47 +534,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
     <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Развернуть</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Свернуть</translation>
-    </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Все комнаты</translation>
     </message>
@@ -770,7 +611,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Сообщения от вашего сервера или администратора.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -791,2503 +632,613 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Расшифровать ключи</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Введите ключ восстановления или пароль, чтобы расшифровать ключи шифрования:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n участник</numerusform>
-            <numerusform>%n участника</numerusform>
-            <numerusform>%n участников</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Введите свой ключ восстановления или пароль названный %1 для расшифровки Ваших секретов:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Расшифровка не удалась</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Не удалось расшифровать ключи шифрования с помощью предоставленного ключа восстановления или пароля</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Присоединиться</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Все файлы (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Шифрование</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Вы ввели не правильный Matrix ID, @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Название</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Автоматическое обнаружение не удалось. Получен некорректный ответ.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Автоматическое обнаружение не удалось. Получена неизвестная ошибка во время исполнения запроса к .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Необходимые конечные точки не найдены. Возможно, это не сервер Matrix.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Получен неверный ответ. Убедитесь, что домен homeserver действителен.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Тема</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Произошла неизвестная ошибка. Убедитесь, что домен homeserver действителен.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Псевдоним</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation type="unfinished">Шифрование</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>Войти при помощи SSO</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Пустой пароль</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Не удалось войти при помощи SSO</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Расшифровать ключи</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Введите ключ восстановления или пароль, чтобы расшифровать ключи шифрования:</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Введите свой ключ восстановления или пароль названный %1 для расшифровки Ваших секретов:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Не удалось загрузить контент. Пожалуйста, повторите попытку.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Расшифровка не удалась</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 отправил зашифрованное сообщение</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Не удалось расшифровать ключи шифрования с помощью предоставленного ключа восстановления или пароля</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Код для Верификации</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 ответил зашифрованным сообщением</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Пожалуйста сверьте следующие цифры. Вы должны увидеть одинаковые числа у себя и у собеседника. Если они разные, пожалуйста нажмите &apos;Они не совпадают!&apos; для отмены верификации!</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 ответил на сообщение</translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Они не совпадают!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 отправил сообщениe</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Они совпадают!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Поиск</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Люди</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Природа</translation>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Еда</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Активности</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Путешествие</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Предметы</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Символы</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Флаги</translation>
-    </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
-    <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Код Верификации</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Пожалуйста сверьте данные эмоджи. Вы должны видеть одинаковые эможди у себя и у собеседника. Если они разные, пожалуйста нажмите &apos; Они не совпадают!&apos; для отмены верификации!</translation>
-    </message>
-    <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Они не совпадают!</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Они совпадают!</translation>
-    </message>
-</context>
-<context>
-    <name>Encrypted</name>
-    <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Сообщение не было расшифровано из-за отсутствия ключа. Ключ был запрошен автоматически, но Вы можете попробовать запросить его снова вручную.</translation>
-    </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Сообщение не было расшифровано, так как имеющийся ключ подходит только к более поздним сообщениям. Попробуйте запросить доступ к этому сообщению.</translation>
+        <source>Change the room avatar</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>При чтении ключа расшифровки произошла внутренняя ошибка.</translation>
+        <source>Change the room addresses</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>При расшифровке сообщения произошла ошибка.</translation>
+        <source>Send encrypted messages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Ошибка при анализе сообщения.</translation>
+        <source>Enable encryption</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Запросить ключ</translation>
-    </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
-    <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
-    <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Это сообщение не зашифровано!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Зашифровано верефицированым устройством</translation>
-    </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Зашифрованно неверефицированым устройством, но Вы все еще доверяете этому пользователю.</translation>
+        <source>Change the room name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
-    <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Верификация не удалась</translation>
-    </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Другой клиент не поддерживает наш протокол верификации.</translation>
+        <location line="+2"/>
+        <source>Change the rooms topic</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Обнаружено несовпадение ключей!</translation>
+        <location line="+2"/>
+        <source>Change the widgets</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Время для верификации устройста закончилось.</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Другая сторона отменила верификацию.</translation>
+        <source>Redact own events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Закрыть</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Переслать Сообщение</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEvents</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+2"/>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
+        <location line="+2"/>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>Hidden events</source>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location line="+2"/>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="+2"/>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+2"/>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>профиль</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
+        <source>profile name</source>
+        <translation>имя профиля</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Send</source>
+        <translation type="unfinished">Отправить</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">Написать сообщение…</translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished">Автообноружение не удалось. Получен поврежденный ответ.</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished">Автообноружение не удалось. Не известаня ошибка во время запроса .well-known.</translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished">Необходимые конечные точки не найдены. Возможно, это не сервер Matrix.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Получен неверный ответ. Убедитесь, что домен homeserver действителен.</translation>
     </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished">Редактировать</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">Закрыть</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Все файлы (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">Идентификатор или псевдоним комнаты</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished">Присоединиться</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Покинуть комнату</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">Вы действительно желаете выйти?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Идентификатор Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>Пример: @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Пароль</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Ваш пароль.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Имя устройства</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Адрес домашнего сервера</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.my:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ВОЙТИ</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Вы ввели не правильный Matrix ID, @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Автоматическое обнаружение не удалось. Получен некорректный ответ.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Автоматическое обнаружение не удалось. Получена неизвестная ошибка во время исполнения запроса к .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Необходимые конечные точки не найдены. Возможно, это не сервер Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Получен неверный ответ. Убедитесь, что домен homeserver действителен.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Произошла неизвестная ошибка. Убедитесь, что домен homeserver действителен.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>Войти при помощи SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Пустой пароль</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Не удалось войти при помощи SSO</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Не удалось загрузить контент. Пожалуйста, повторите попытку.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 создал и настроил комнату: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 начал голосовой звонок.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 начал видео звонок.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 начал вызов.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 ответил на звонок.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 завершил вызов.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Завершить звонок</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Позвонить</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Отправить файл</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Написать сообщение…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Эмоджи</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Отправить</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>У вас нет прав для отправления сообщений в этой комнате</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Редактировать</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Реакция</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Ответить</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Опции</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished">Просмотреть сырое сообщение</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished">Просмототреть дешифрованое сырое сообщение</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Отправить запрос на проверку</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Получен Запрос Верификации</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Отмена</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Отклонить</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Начать верификацию</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Принять</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 отправил зашифрованное сообщение</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 ответил зашифрованным сообщением</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 ответил на сообщение</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 отправил сообщениe</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Позвонить %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Микрофон не найден.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Голос</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Видео</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Экран</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Отмена</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>нереализованное событие: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished">Добавить</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>профиль</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>имя профиля</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Отправить</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Написать сообщение…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished">Просмотр получателей</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Имя пользователя</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Имя пользователя не должно быть пустым и должно содержать только символы a-z, 0-9, ., _, =, -, и /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Пароль</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Пожалуйста выбирите надежный пароль. Надёжность пароля, влияет на безопасность сервера.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Подтверждение пароля</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Домашний сервер</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Сервер разрешающий регистрацию.Поскольку matrix децентрализованный, нужно выбрать сервер где вы можете зарегистрироваться или поднимите свой сервер.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Имя устройства</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>РЕГИСТРАЦИЯ</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished">Автообноружение не удалось. Получен поврежденный ответ.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished">Автообноружение не удалось. Не известаня ошибка во время запроса .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished">Необходимые конечные точки не найдены. Возможно, это не сервер Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Получен неверный ответ. Убедитесь, что домен homeserver действителен.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Произошла неизвестная ошибка. Убедитесь, что домен homeserver действителен.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Закрыть</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>нет сохраненной версии</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Покинуть комнату</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished">Тэгировать комнату как:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished">Важные</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Создать метку…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished">Выйти</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">Закрыть</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished">Начать новый чат</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished">Присоединиться к комнате</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished">Каталог комнат</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished">Пользовательские настройки</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Настройки комнаты</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform>%n участник</numerusform>
-            <numerusform>%n участника</numerusform>
-            <numerusform>%n участников</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>НАЙСТРОЙКИ</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Уведомления</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Заглушен</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Упоминания только</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Все сообщения</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Шифрование</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Оконечное шифрование</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Права доступа</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Произошла неизвестная ошибка. Убедитесь, что домен homeserver действителен.</translation>
     </message>
     <message>
         <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>ИНФОРМАЦИЯ</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Внутренний ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Версия Комнаты</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>show more</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Не удалось включить шифрование: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Выберите аватар</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Все файлы (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Выбранный файл не является картинкой</translation>
-    </message>
     <message>
         <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Ошибка во время прочтения файла: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Не удалось загрузить изображение: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomInfo</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Поделиться экраном с %1?</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>нет сохраненной версии</translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Окно:</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Не удалось включить шифрование: %1</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Частота кадров:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Выберите аватар</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Включить Вашу камеру в режиме картинка-в-картинке</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Все файлы (*)</translation>
     </message>
     <message>
         <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Запросить удалённую камеру</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
+        <source>The selected file is not an image</source>
+        <translation>Выбранный файл не является картинкой</translation>
     </message>
     <message>
         <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Спрятать курсор мыши</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Поделиться</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Предпросмотр</translation>
+        <source>Error while reading file: %1</source>
+        <translation>Ошибка во время прочтения файла: %1</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Отмена</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Не удалось загрузить изображение: %s</translation>
     </message>
 </context>
 <context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
     <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+7"/>
-        <source>verify</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3320,19 +1271,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3343,97 +1294,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Не удалоcь</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Отправлено</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Получено</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Прочитано</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished">Поиск</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Верификация прошла успешно</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Верификация прошла успешно! Обе стороны верефицировали свои устройства!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Закрыть</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Ошибка редактирования сообщения: %1</translation>
@@ -3465,7 +1329,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Сохранить файл</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3788,219 +1652,61 @@ Reason: %4</source>
         <translation>%1 покинул комнату.</translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 отредактировал его &quot;стук&quot;.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Вы присоединились к комнате.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 покинул чат, уже покинув его!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 постучался.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Изменено</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Комната не выбрана</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Настройки</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform>%n участник</numerusform>
-            <numerusform>%n участника</numerusform>
-            <numerusform>%n участников</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished">Вернуться к списку комнат</translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Вернуться к списку комнат</translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Комнаты не выбраны</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 отредактировал его &quot;стук&quot;.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Вы присоединились к комнате.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Настройки комнаты</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Пригласить пользователей</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Участники</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Покинуть комнату</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Настройки</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 покинул чат, уже покинув его!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 постучался.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Показать</translation>
     </message>
@@ -4013,13 +1719,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation type="unfinished"></translation>
@@ -4035,113 +1741,10 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Глобальный Пользовательский Профиль</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Поользовательский Профиль в Комнате</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Верифицировать</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Отменить Верификацию</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4174,8 +1777,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>По умолчанию</translation>
     </message>
@@ -4183,7 +1786,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Тема</translation>
     </message>
@@ -4252,6 +1855,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Сортировать комнату по непрочитанным</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4513,12 +2121,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished">По умолчанию</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Выбрать звук уведомления входящего звонка</translation>
     </message>
@@ -4589,7 +2207,21 @@ This will also enable or disable sending typing notifications to others.</source
 Другие участники также будут видеть когда печатаете Вы.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished">Отображать кнопки быстрого ответа, реакции или предоставления дополнительных опций рядом с каждым сообщением.</translation>
     </message>
@@ -4642,17 +2274,17 @@ This usually causes the application icon in the task bar to animate in some fash
 На это обычно реагирует иконка приложения в таскбаре.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4662,14 +2294,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4753,7 +2378,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Выберите файл</translation>
     </message>
@@ -4763,7 +2398,7 @@ This setting will take effect upon restart.</source>
         <translation>Все файлы (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Открыть файл сеансов</translation>
     </message>
@@ -4805,117 +2440,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Файл для сохранения экспортированных ключей сеанса</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>ЗАПРОС</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>СКАЧАТЬ</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>Закешировано</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>НЕ ЗАКЕШИРОВАНО</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>ИМПОРТИРОВАТЬ</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>ЭКСПОРТИРОВАТЬ</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished">Не найдено личного чата с этим пользователем. Создайте зашифрованный личный чат с этим пользователем и попытайтесь еще раз.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Ожидание подтверждения запроса верификации другой стороной.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Ожидание другой стороны для продолжения верификационного процесса.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Ожидание другой стороны, для завершение верификационного процесса.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Отмена</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Добро пожаловать в Nheko, клиент для протокола Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Приятного времяпрепровождения!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>РЕГИСТРАЦИЯ</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ВХОД</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Вчера</translation>
     </message>
@@ -4923,7 +2459,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Открыть ответ в Браузере</translation>
     </message>
@@ -4944,32 +2480,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Люди</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Отмена</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Природа</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Подтвердить</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Еда</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Решите reCAPTCHA и нажмите кнопку подтверждения</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Активности</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Путешествие</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Предметы</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Символы</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Флаги</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Вы отправили аудиозапись</translation>
     </message>
@@ -5030,24 +2586,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Ð’Ñ‹: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_si.ts b/resources/langs/nheko_si.ts
index 2254bf2478fff21a57732d811525b16968aad6ee..f0be2e38d77baa2bce2112f81663fdd2da575316 100644
--- a/resources/langs/nheko_si.ts
+++ b/resources/langs/nheko_si.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="si">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -318,12 +166,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2646 +630,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InputBar</name>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>InviteDialog</name>
     <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3718,419 +1584,160 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Removed by %1 because: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
+        <location line="+2"/>
+        <source>Removed by %1 because: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <location line="+1"/>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4576,7 +2198,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4628,17 +2264,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4648,14 +2284,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4738,7 +2367,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4748,7 +2387,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4790,171 +2429,92 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>descriptiveTime</name>
     <message>
-        <location line="+19"/>
-        <source>Cancel</source>
+        <location filename="../../src/Utils.cpp" line="+208"/>
+        <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>dialogs::FallbackAuth</name>
     <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
+        <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
+        <location line="+1"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
+        <location line="+1"/>
+        <source>Confirm</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
-        <source>Yesterday</source>
+        <location line="+12"/>
+        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>dialogs::FallbackAuth</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
-        <source>Open Fallback in Browser</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Nature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
+        <location line="+2"/>
+        <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>dialogs::ReCaptcha</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Objects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Symbols</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Flags</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,24 +2575,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_sr_Latn.ts b/resources/langs/nheko_sr_Latn.ts
index c77ee762bf8c8e89e26f37759f26e0075cf7f1fb..4766d72aa390cfda28a353eca59302a559a356fa 100644
--- a/resources/langs/nheko_sr_Latn.ts
+++ b/resources/langs/nheko_sr_Latn.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="sr_Latn">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -140,76 +30,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -217,18 +56,28 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -238,7 +87,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -269,12 +118,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -319,12 +168,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -346,7 +195,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -419,16 +268,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -539,6 +383,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -680,47 +534,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -770,7 +611,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -791,2649 +632,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+14"/>
-        <source>New room pack</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+22"/>
-        <source>Private pack</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>InputBar</name>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3465,7 +1329,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3727,421 +1591,160 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Removed by %1 because: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
+        <location line="+2"/>
+        <source>Removed by %1 because: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <location line="+1"/>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4174,8 +1777,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4183,7 +1786,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4252,6 +1855,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4513,12 +2121,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4587,7 +2205,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4639,17 +2271,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4659,14 +2291,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4749,7 +2374,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4759,7 +2394,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4801,171 +2436,92 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>descriptiveTime</name>
     <message>
-        <location line="+19"/>
-        <source>Cancel</source>
+        <location filename="../../src/Utils.cpp" line="+208"/>
+        <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>dialogs::FallbackAuth</name>
     <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
+        <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
+        <location line="+1"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
+        <location line="+1"/>
+        <source>Confirm</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
-        <source>Yesterday</source>
+        <location line="+12"/>
+        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>dialogs::FallbackAuth</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
-        <source>Open Fallback in Browser</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Nature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
+        <location line="+2"/>
+        <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>dialogs::ReCaptcha</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Objects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Symbols</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Flags</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5026,24 +2582,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_sv.ts b/resources/langs/nheko_sv.ts
index ddb64aefc09efe10e5d9f3f63f61b6e658dde1e4..a53618e93aed3fc5272e7abded1bc855d74ef10d 100644
--- a/resources/langs/nheko_sv.ts
+++ b/resources/langs/nheko_sv.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="sv">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Ringer upp...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Ansluter...</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Slå på mikrofonen</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Stäng av mikrofonen</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -139,76 +29,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videosamtal</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Röstsamtal</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Ingen mikrofon kunde hittas.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videosamtal</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Röstsamtal</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Enheter</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Godkänn</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Okänd mikrofon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Okänd kamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Neka</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Ingen mikrofon hittad.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -216,18 +55,27 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Kunde inte bjuda in användare: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Bjöd in användare: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -237,7 +85,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -268,12 +116,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Bekräfta inbjudan</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Är du säker på att du vill bjuda in %1 (%2)?</translation>
     </message>
@@ -318,12 +166,12 @@
         <translation>Hävde bannlysningen av användare: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Cache-migration misslyckades!</translation>
     </message>
@@ -345,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Inkompatibel cache-version</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Kunde inte återställa OLM-konto. Vänligen logga in på nytt.</translation>
     </message>
@@ -418,16 +266,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -538,6 +381,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -679,47 +532,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished">Alla rum</translation>
     </message>
@@ -769,7 +609,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -790,2500 +630,613 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Dekryptera hemliga nycklar</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Ange din återställningsnyckel eller lösenfras för att dekryptera dina hemliga nycklar:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Ange din återställningsnyckel eller lösenfras vid namn %1 för att dekryptera dina hemliga nycklar:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Dekryptering misslyckades</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Kunde inte dekryptera hemliga nycklar med den angivna återställningsnyckeln eller lösenfrasen</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Alla Filer (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Autouppslag misslyckades. Mottog felkonstruerat svar.</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Autouppslag misslyckades. Okänt fel uppstod vid begäran av .well-known.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation type="unfinished"></translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Kunde inte hitta de nödvändiga ändpunkterna. Möjligtvis inte en Matrix-server.</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Mottog felkonstruerat svar. Se till att hemserver-domänen är giltig.</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation type="unfinished">Ämne</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Ett okänt fel uppstod. Se till att hemserver-domänen är giltig.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation type="unfinished">Alias</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation type="unfinished"></translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO INLOGGNING</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Dekryptera hemliga nycklar</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Tomt lösenord</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Ange din återställningsnyckel eller lösenfras för att dekryptera dina hemliga nycklar:</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO-inloggning misslyckades</translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Ange din återställningsnyckel eller lösenfras vid namn %1 för att dekryptera dina hemliga nycklar:</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation type="unfinished">Kunde inte ladda upp media. Vänligen försök igen.</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Dekryptering misslyckades</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation type="unfinished">%1 skickade ett krypterat meddelande</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Kunde inte dekryptera hemliga nycklar med den angivna återställningsnyckeln eller lösenfrasen</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verifikationskod</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Vänligen bekräfta följande siffror.  Samma siffror ska visas på bägge sidor. Stämmer siffrorna inte överens, vänligen tryck på &apos;Siffrorna överensstämmer inte!&apos; för att avbryta verifikationen!</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Siffrorna överensstämmer inte!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Siffrorna överensstämmer!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Sök</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Personer</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Natur</translation>
+        <source>Other state events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Mat</translation>
+        <source>Remove other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktivitet</translation>
+        <source>Ban other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Resande</translation>
+        <source>Invite other users</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objekt</translation>
+        <source>Redact events sent by others</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Symboler</translation>
+        <source>Reactions</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Flaggor</translation>
-    </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
-    <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Verifikationskod</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Vänligen bekräfta följande emoji. Samma emoji ska visas på bägge sidor. Stämmer de inte överens, vänligen tryck på &apos;De överensstämmer inte!&apos; för att avbryta verifikationen!</translation>
-    </message>
-    <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>De överensstämmer inte!</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>De överensstämmer!</translation>
-    </message>
-</context>
-<context>
-    <name>Encrypted</name>
-    <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
-    <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Detta meddelande är inte krypterat!</translation>
-    </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+2"/>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
-    <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Verifikation misslyckades</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Motpartens klient stödjer inte vårt verifikationsprotokoll.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Nycklarna överensstämmer inte!</translation>
-    </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Enhetsverifikation tog för lång tid.</translation>
+        <source>Redact own events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Motparten avbröt verifikationen.</translation>
+        <source>Change the pinned events</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
-    <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEvents</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+2"/>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
+        <location line="+2"/>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>Hidden events</source>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <location line="+2"/>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="+2"/>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+2"/>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>profil</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
+        <source>profile name</source>
+        <translation>profilnamn</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Send</source>
+        <translation type="unfinished">Skicka</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation type="unfinished">Skriv ett meddelande…</translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished">Autouppslag misslyckades. Mottog felkonstruerat svar.</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished">Autouppslag misslyckades. Okänt fel uppstod vid begäran av .well-known.</translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished">Kunde inte hitta de nödvändiga ändpunkterna. Möjligtvis inte en Matrix-server.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Alla Filer (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished">Rum-ID eller alias</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Lämna rum</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished">Är du säker på att du vill lämna?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Matrix-ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>t.ex. @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Lösenord</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Enhetsnamn</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>INLOGGNING</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Autouppslag misslyckades. Mottog felkonstruerat svar.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Autouppslag misslyckades. Okänt fel uppstod vid begäran av .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Kunde inte hitta de nödvändiga ändpunkterna. Möjligtvis inte en Matrix-server.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Mottog felkonstruerat svar. Se till att hemserver-domänen är giltig.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Ett okänt fel uppstod. Se till att hemserver-domänen är giltig.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO INLOGGNING</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Tomt lösenord</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO-inloggning misslyckades</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished">Kunde inte ladda upp media. Vänligen försök igen.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 skapade och konfigurerade rum: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 påbörjade ett röstsamtal.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 påbörjade ett videosamtal.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 påbörjade ett samtal.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 besvarade samtalet.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 avslutade samtalet.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Lägg på</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Ring upp</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Skicka en fil</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Skriv ett meddelande…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Emoji</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Skicka</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished">Reagera</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished">Svara</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished">Alternativ</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished">Visa meddelandekälla</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished">Visa dekrypterad meddelandekälla</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Skicka verifikationsförfrågan</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Mottog Verifikationsförfrågan</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>För att säkerställa att ingen illvillig användare kan tjuvlyssna på din krypterade kommunikation kan du verifiera motparten.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 har begärt att verifiera sin enhet %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 som använder enheten %2 har begärt att bli verifierad.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Din enhet (%1) har begärt att bli verifierad.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Avvisa</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Påbörja verifikation</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Godkänn</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished">%1 skickade ett krypterat meddelande</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Ring upp %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Ingen mikrofon kunde hittas.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Röst</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>ej implementerat event: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>profil</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>profilnamn</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished">Skicka</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished">Skriv ett meddelande…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished">Läskvitton</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Användarnamn</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Användarnamnet kan inte vara tomt, och måste enbart innehålla tecknen a-z, 0-9, ., _, =, -, och /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Lösenord</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Vänligen välj ett säkert lösenord. De specifika kraven för lösenordsstyrka kan variera beroende på din hemserver.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Bekräfta lösenord</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Hemserver</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>En server som tillåter registrering. Eftersom matrix är decentraliserat behöver du först hitta en server du kan registrera dig på, eller upprätta en på egen hand.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished">Enhetsnamn</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>REGISTRERA</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished">Autouppslag misslyckades. Mottog felkonstruerat svar.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished">Autouppslag misslyckades. Okänt fel uppstod vid begäran av .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished">Kunde inte hitta de nödvändiga ändpunkterna. Möjligtvis inte en Matrix-server.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Mottog felkonstruerat svar. Se till att hemserver-domänen är giltig.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished">Ett okänt fel uppstod. Se till att hemserver-domänen är giltig.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>ingen version lagrad</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished">Lämna rum</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished">Tagga rum som:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished">Favorit</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished">Logga ut</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished">Starta en ny chatt</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished">GÃ¥ med i ett rum</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished">Rumkatalog</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished">Användarinställningar</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished">Totalsträckskryptering</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished">Kunde inte aktivera kryptering: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished">Välj en avatar</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished">Alla Filer (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished">Den valda filen är inte en bild</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Mottog felkonstruerat svar. Se till att hemserver-domänen är giltig.</translation>
     </message>
     <message>
         <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished">Kunde inte läsa filen: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished">Kunde inte ladda upp bilden: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished">Ett okänt fel uppstod. Se till att hemserver-domänen är giltig.</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>ingen version lagrad</translation>
     </message>
 </context>
 <context>
-    <name>SecretStorage</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation type="unfinished">Kunde inte aktivera kryptering: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation type="unfinished">Välj en avatar</translation>
     </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
     <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished">Alla Filer (*)</translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation type="unfinished">Den valda filen är inte en bild</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation type="unfinished">Kunde inte läsa filen: %1</translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation type="unfinished">Kunde inte ladda upp bilden: %s</translation>
+    </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
+    <message>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+7"/>
-        <source>verify</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3316,19 +1269,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3339,97 +1292,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Misslyckat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Skickat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Mottaget</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Läst</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation type="unfinished">Sök</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Lyckad verifikation</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Verifikationen lyckades!  Bägge sidor verifierade sina enheter!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Kunde inte maskera meddelande: %1</translation>
@@ -3461,7 +1327,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Spara fil</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3779,218 +1645,61 @@ Reason: %4</source>
         <translation>%1 lämnade rummet.</translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 maskerade sin knackning.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Du gick med i detta rum.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 lämnade efter att redan ha lämnat!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 knackade.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Inget rum öppet</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished">Inställningar</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished">Tillbaka till rumlista</translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Tillbaka till rumlista</translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Inget rum markerat</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 maskerade sin knackning.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Du gick med i detta rum.</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Alternativ för rum</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Bjud in användare</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Medlemmar</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Lämna rum</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Inställningar</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 lämnade efter att redan ha lämnat!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 knackade.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Visa</translation>
     </message>
@@ -4003,13 +1712,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation type="unfinished"></translation>
@@ -4025,112 +1734,10 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Bekräfta</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4163,8 +1770,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4172,7 +1779,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished">Tema</translation>
     </message>
@@ -4241,6 +1848,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished">Sortera rum efter olästa</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4502,12 +2114,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished">Ställ in notifikationsljudet som spelas upp vid ett inkommande samtal</translation>
     </message>
@@ -4578,7 +2200,21 @@ This will also enable or disable sending typing notifications to others.</source
 Denna inställning avgör också huruvida notifikation skickas till andra när du skriver.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished">Visa knappar för att enkelt svara, reagera eller komma åt ytterligare alternativ bredvid varje meddelande.</translation>
     </message>
@@ -4631,17 +2267,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Detta gör vanligtvis att ikonen i aktivitetsfältet animeras på något sätt.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4651,14 +2287,7 @@ Detta gör vanligtvis att ikonen i aktivitetsfältet animeras på något sätt.<
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4742,7 +2371,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished">Välj en fil</translation>
     </message>
@@ -4752,7 +2391,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Alla Filer (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished">Öppna sessionsfil</translation>
     </message>
@@ -4794,117 +2433,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished">Fil för att spara de exporterade sessionsnycklarna</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>BEGÄRAN</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>LADDA NED</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>SPARAD</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>EJ SPARAD</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>IMPORTERA</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>EXPORTERA</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished">Ingen krypterad privat chatt med denna användare kunde hittas. Skapa en krypterad privat chatt med användaren och försök igen.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>Väntar på motparten…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Väntar på att motparten ska acceptera verifikationsförfrågan.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Väntar på att motparten ska fortsätta verifikationsprocessen.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Väntar på att motparten ska slutföra verifikationsprocessen.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Välkommen till Nheko! Skrivbordsklienten för Matrix-protokollet.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Ha en trevlig vistelse!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>REGISTRERA</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>LOGGA IN</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Igår</translation>
     </message>
@@ -4912,7 +2452,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Öppna reserv i webbläsare</translation>
     </message>
@@ -4933,32 +2473,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Personer</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Natur</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Bekräfta</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Mat</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Lös reCAPTCHAn och tryck på Bekräfta</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktivitet</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Resande</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objekt</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Symboler</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Flaggor</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Du skickade ett ljudklipp</translation>
     </message>
@@ -5019,24 +2579,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Du: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_tr.ts b/resources/langs/nheko_tr.ts
index 573ff38cc84e8da5312eb52ec16d4834d078d2f0..971de4b3177d0402a47aa657c0e14e4935824528 100644
--- a/resources/langs/nheko_tr.ts
+++ b/resources/langs/nheko_tr.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="tr">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Aranıyor…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Bağlanıyor…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Ekranınızı paylaşıyorsunuz.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Mikrofonu Aç</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Mikrofonu Sustur</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,164 +17,36 @@
         <translation>Adres güncellenemedi: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>%1&apos;e ait adresler</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Bu odaya ait adresler Genellikle adresleri sadece kendi sunucunuza ekleyebilirsiniz. Bir standart adres ve birden çok alternatif adres alabilirsiniz.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Ana adres</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Ana adrese çevir</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Oda sunucusunda yayınla</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Adı kaldır</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#yeni-ad:sunucu.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Ekle</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished">İzin verilen oda ayarları</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Bu odaya erişimi olan odaların listesi. Bu odalardan herhangi birinde olan kişi, bu odaya da katılabilir.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Ana Topluluk</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>BoÅŸ Oda</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Videolu Arama</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Sesli Arama</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Mikrofon bulunamadı.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Videolu Arama</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Sesli Arama</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Cihazlar</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>Kabul et</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Bilinmeyen mikrofon: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Bilinmeyen kamera: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Reddet</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Mikrofon bulunamadı.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Bütün ekran</translation>
     </message>
@@ -216,18 +54,26 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Kullanıcı davet edilemedi: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Kullanıcı davet edildi: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Çıkışı onayla</translation>
     </message>
@@ -237,7 +83,7 @@
         <translation>Diskinizdeki önbelleğin versiyonu Nheko&apos;nun desteklediğinden daha yeni. Lütfen Nheko&apos;yu güncelleyin ya da önbelleğinizi temizleyin.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Veritabanı açılamadı, çıkış yapılıyor!</translation>
     </message>
@@ -268,12 +114,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Daveti onayla</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>%1 (%2) adlı kişiyi davet etmek istediğinize emin misiniz?</translation>
     </message>
@@ -318,12 +164,12 @@
         <translation>Yasak kaldırıldı: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>%1 adlı kişiyle özel konuşma başlatmak istediğinize emin misiniz?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Önbellek transferi başarısız!</translation>
     </message>
@@ -347,7 +193,7 @@ Eğer bunun bir hata olduğunu düşünüyorsanız Nheko&apos;yu kapatabilir ve
         <translation>Uyumsuz önbellek versiyonu</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>OLM hesabınız alınamadı. Lütfen tekrar giriş yapın.</translation>
     </message>
@@ -421,16 +267,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>%1 (%2) adlı kişiyi yasaklamak için bir sebep girin ya da enter tuşuna basarak boş bırakın:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Ağ bağlantısı kurulamadı</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;mesaj&gt;</translation>
     </message>
@@ -541,6 +382,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+38"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;mesaj referansı&gt;</translation>
     </message>
@@ -680,6 +531,16 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Gökkuşağı renklerinde konfetili bir mesaj gönderin.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -696,33 +557,10 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Bu direkt konuşmayı bir odaya çevir.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Bu topluluk veya etiket için bildirim sayısını gösterme.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Varsayılan olarak bu etikete sahip ya da bu topluluktan gelen odaları gizle.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>GeniÅŸlet</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Daralt</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Tüm odalar</translation>
     </message>
@@ -772,7 +610,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Sunucunuzdan ya da yöneticinizden gelen mesajlar.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Topluluk güncellenemedi: %1</translation>
     </message>
@@ -793,2646 +631,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Topluluğa katılmayı onayla</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Gizli anahtarları deşifre et</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Odaya katılmayı onayla</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Gizli anahtarlarınızı kurtarmak için anahtarınızı ya da parolanızı girin:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n üye</numerusform>
-            <numerusform>%n üye</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Gizli anahtarlarınızı kurtarmak için anahtarınızı ya da %1 adlı parolanızı girin:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Bu odaya katılmak istiyor musunuz? İsterseniz aşağıdan bir sebep belirtebilirsiniz:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Şifre çözme başarısız</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>Bu odaya direkt olarak katılamazsınız. Ama yine de odanın kapısını tıklatabilir ve oda üyelerinden giriş izni isteyebilirsiniz. İsterseniz aşağıdan bir sebep de belirtebilirsiniz:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Verilen kurtarma anahtarı veya parolayla gizli anahtarların şifresi çözülemedi</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Kapıyı tıklat</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Katıl</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Direkt Sohbet OluÅŸtur</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Davet edilecek kullanıcı</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@kullanici:sunucu.tld</translation>
+        <location line="+0"/>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Åžifreleme</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Oda OluÅŸtur</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Ä°sim</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Yeni Topluluk</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>Yeni Oda</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Ä°simsiz</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>Konu</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Konu yok</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Herkese Açık</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>Herkese açık odalara herkes katılabilir; Gizli odalara katılmak için davet gereklidir.</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Güvenildi</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Bütün davetlilere oda yapımcısıyla aynı yetkiler verilir</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Åžifreleme</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Dikkat: Şifreleme devre dışı bırakılamaz</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Gizli anahtarları deşifre et</translation>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>MediaUpload</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Gizli anahtarlarınızı kurtarmak için anahtarınızı ya da parolanızı girin:</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Gizli anahtarlarınızı kurtarmak için anahtarınızı ya da %1 adlı parolanızı girin:</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Şifre çözme başarısız</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Verilen kurtarma anahtarı veya parolayla gizli anahtarların şifresi çözülemedi</translation>
-    </message>
-</context>
-<context>
-    <name>DigitVerification</name>
-    <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>DoÄŸrulama Kodu</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>EÅŸleÅŸmiyorlar!</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>EÅŸleÅŸiyorlar!</translation>
-    </message>
-</context>
-<context>
-    <name>EmojiPicker</name>
-    <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Ara</translation>
-    </message>
-    <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Ä°nsanlar</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Nature</source>
-        <translation>DoÄŸa</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Food</source>
-        <translation>Yiyecekler</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Activity</source>
-        <translation>Aktiviteler</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Travel</source>
-        <translation>Seyahat</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Objects</source>
-        <translation>Objeler</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Semboller</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Flags</source>
-        <translation>Bayraklar</translation>
-    </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
-    <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>DoÄŸrulama Kodu</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Lütfen emoji kullanarak doğrulayın. Her iki tarafta da aynı emojileri görmeniz lazım. Eğer aynı değillerse, lütfen &apos;Eşleşmiyorlar!&apos; düğmesine basıp doğrulamayı iptal edin!</translation>
-    </message>
-    <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Görünen emojiler fontlar yüzünden farklı programlarda farklı biçimde görünebilir. Aynı şekilde başka dillere de çevrilmiş olabilirler. Yine de 64 farklı obje veya hayvanlardan oluşmalılar. Örnek olarak bir aslan ve kedi emojisi farklı, fakat bir kedinin kafasının veya bütün vücudunun görünmesi aynıdır.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>EÅŸleÅŸmiyorlar!</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>EÅŸleÅŸiyorlar!</translation>
-    </message>
-</context>
-<context>
-    <name>Encrypted</name>
-    <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Bu mesajı çözmek için anahtar yok. Anahtarı otomatik olarak talep ettik ama sabırsızlanıyorsanız yine de tekrar istemeyi deneyebilirsiniz.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Bu mesaj çözülemedi çünkü sadece yeni mesajlar için anahtarımız var. Bu mesaj için erişim istemeyi deneyebilirsiniz.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Şifreleme anahtarlarını veritabanından okurken bir hata oluştu.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Bu mesajı çözmede bir hata oluştu.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>İleti ayrıştırılamadı.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Şifreleme anahtarı tekrar kullanıldı! Birileri bu sohbete sahte mesajlar yerleştirmeye çalışıyor olabilir!</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Bilinmeyen şifre çözme hatası</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Anahtar talep et</translation>
-    </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
-    <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 uçtan uça şifrelmeyi aktive etti</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Şifreleme, mesajlarınızı sadece gönderen kişinin okumasını sağlayarak daha güvenli hale getirir. Ekstra güvenlik için, eğer doğru kişiyle konuştuğunuza emin olmak istiyorsanız, onları gerçek hayatta doğrulayabilirsiniz.</translation>
-    </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
-    <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Bu mesaj ÅŸifreli deÄŸil!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Doğrulanmış bir cihaz tarafından şifrelendi</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Doğrulanmamış bir cihaz tarafından şifrelendi, fakat bu kullanıcıya şu ana kadar güvendiniz.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Doğrulanmamış bir cihaz ya da şifre yedeği gibi güvenilmez bir kaynak ile şifrelendi.</translation>
-    </message>
-</context>
-<context>
-    <name>Failed</name>
-    <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Doğrulama başarısız</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Diğer kullanıcı bizim doğrulama protokolümüzü desteklemiyor.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Anahtar uyuşmazlığı tespit edildi!</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Cihaz doğrulaması zaman aşımına uğradı.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Diğer taraf doğrulamayı iptal etti.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Doğrulama mesajları hatalı sırayla alındı!</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Bilinmeyen doğrulama hatası.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Kapat</translation>
-    </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
-    <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Ä°let</translation>
-    </message>
-</context>
-<context>
-    <name>HiddenEvents</name>
-    <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
-        <source>Room directory</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>User settings</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>PowerLevels</name>
     <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+16"/>
-        <source>Permission</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
+        <location line="+2"/>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
+        <location line="+2"/>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
+        <location line="+2"/>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
+        <location line="+2"/>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
+        <location line="+2"/>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
+        <location line="+2"/>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
+        <location line="+2"/>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+57"/>
-        <source>Aliases</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
+        <location line="+2"/>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>INFO</source>
+        <location line="+2"/>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
+        <location line="+2"/>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
+        <location line="+2"/>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Room Version</source>
+        <location line="+2"/>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>show less</source>
+        <location line="+2"/>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>show more</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
+        <location line="+2"/>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
+        <location line="+2"/>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
     <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>No preview available</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Root</name>
     <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
+        <location line="+2"/>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
+        <location line="+2"/>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
+        <location line="+2"/>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
+        <location line="+2"/>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
+        <location line="+1"/>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+5"/>
-        <source>Hide mouse cursor</source>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
+        <location line="+1"/>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SelfVerificationCheck</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>verify</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SpaceMenuLevel</name>
+    <name>RoomlistModel</name>
     <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>SecretStorage</name>
+    <message>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3464,12 +1328,11 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
     <message>
@@ -3533,7 +1396,6 @@ If you choose verify, you need to have the other device available. If you choose
         <source>%n member(s) can now kick room members.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -3551,7 +1413,6 @@ If you choose verify, you need to have the other device available. If you choose
         <source>%n member(s) can now redact room messages.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -3569,7 +1430,6 @@ If you choose verify, you need to have the other device available. If you choose
         <source>%n member(s) can now ban room members.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -3587,7 +1447,6 @@ If you choose verify, you need to have the other device available. If you choose
         <source>%n member(s) can now send state events.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -3727,413 +1586,154 @@ If you choose verify, you need to have the other device available. If you choose
     </message>
     <message>
         <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4166,8 +1766,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4175,7 +1775,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4244,6 +1844,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4505,12 +2110,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4579,7 +2194,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4631,17 +2260,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4651,14 +2280,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4741,7 +2363,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4751,7 +2383,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4793,117 +2425,18 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4911,7 +2444,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4932,32 +2465,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation type="unfinished"></translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Ä°nsanlar</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">DoÄŸa</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Yiyecekler</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Aktiviteler</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Seyahat</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Objeler</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Semboller</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Bayraklar</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5018,24 +2571,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_uk.ts b/resources/langs/nheko_uk.ts
index 72ff3953a27a8a75b9c8440022b7aba50368eeb8..495bb2eedb58821a51688a4f62780ebc36afa2bf 100644
--- a/resources/langs/nheko_uk.ts
+++ b/resources/langs/nheko_uk.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="uk">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>Телефоную…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>Підключення…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>Ви ділитеся екраном.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>Приховати/Показати картинку в картинці</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>Увімкнути мікрофон</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>Вимкнути мікрофон</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>Не вдалося оновити псевдоніми: %1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>Псевдоніми %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>Список псевдонімів цієї кімнати. Зазвичай ви можете додавати псевдоніми лише на своєму сервері. Ви можете мати один канонічний псевдонім і багато альтернативних псевдонімів.</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>Основний псевдонім</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>Створити основний псевдонім</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>Оголосити псевдонімом у цій кімнаті</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>Опублікувати в каталозі кімнати</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>Видалити цей псевдонім</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#новий-псевдонім:сервер.домен</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>Додати</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>Налаштування дозволених кімнат</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>Список кімнат, які дозволяють доступ до цієї кімнати. Кожен, хто перебуває в будь-якій із цих кімнат, може приєднатися до цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>Батьківська спільнота</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>Інша кімната</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>Введіть додаткові кімнати, яких ще немає в списку...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 і ще %n</numerusform>
@@ -140,76 +30,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>Порожня кімната</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>Відеодзвінок</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Голосовий виклик</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>Мікрофон не знайдено.</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>Відеодзвінок</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>Голосовий виклик</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>Пристрої</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>прийняти</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>Невідомий мікрофон: %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>Невідома камера: %1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>Відхилити</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>Мікрофон не знайдено.</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>Весь екран</translation>
     </message>
@@ -217,18 +56,28 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>Не вдалося запросити користувача: %1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>Запрошений користувач: %1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>Підтвердьте вихід</translation>
     </message>
@@ -238,7 +87,7 @@
         <translation>Кеш на вашому диску новіший, ніж підтримує ця версія Nheko. Оновіть Nheko або очистіть кеш.</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>Не вдалося відкрити базу даних, вихід із системи!</translation>
     </message>
@@ -269,12 +118,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>Підтвердити запрошення</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>Ви справді хочете запросити %1 (%2)?</translation>
     </message>
@@ -319,12 +168,12 @@
         <translation>Розблоковано користувача: %1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>Ви справді хочете розпочати приватну бесіду з %1?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>Помилка міграції кешу!</translation>
     </message>
@@ -348,7 +197,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>Несумісна версія кешу</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>Не вдалося відновити обліковий запис OLM. Увійдіть ще раз.</translation>
     </message>
@@ -422,16 +271,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>Введіть причину блокування %1 (%2) або натисніть Enter щоб не уточнювати причину:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>Немає підключення до мережі</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;повідомлення&gt;</translation>
     </message>
@@ -542,6 +386,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;посилання на повідомлення&gt;</translation>
     </message>
@@ -681,6 +535,16 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>Надіслати повідомлення в кольорах веселки з конфетті.</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -697,33 +561,10 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Перетворити цей особистий чат на кімнату.</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>Не показувати кількість сповіщень для цієї спільноти чи тегу.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>Приховати кімнати з цим тегом або від цієї спільноти за умовчанням.</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>Розгорнути</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>Згорнути</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>Всі кімнати</translation>
     </message>
@@ -773,7 +614,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>Повідомлення від вашого сервера або адміністратора.</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>Не вдалося оновити спільноту: %1</translation>
     </message>
@@ -794,2445 +635,600 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>Підтвердити приєднання до спільноти</translation>
-    </message>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>Підтвердити приєднання до кімнати</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n учасник</numerusform>
-            <numerusform>%n учасників</numerusform>
-            <numerusform>%n учасників</numerusform>
-        </translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>Розшифрувати ключі</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>Ви хочете приєднатися до цієї кімнати? Ви можете додати причину нижче:</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>Введіть ключ відновлення або парольну фразу, щоб розшифрувати свої ключі:</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>До цієї кімнати не можна приєднатися безпосередньо. Однак ви можете постукати в кімнату, і учасники кімнати зможуть прийняти або відхилити цей запит на приєднання. Нижче ви можете додатково вказати причину, щоб вони вас впустили:</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>Введіть ключ відновлення або парольну фразу %1, щоб розшифрувати свої ключі:</translation>
     </message>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>Стукнути</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>Не вдалося розшифрувати</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>Приєднатися</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>Не вдалося розшифрувати ключі за допомогою наданого ключа відновлення або парольної фрази</translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
-    <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>Створити прямий чат</translation>
-    </message>
-    <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>Користувач для запрошення</translation>
-    </message>
+    <name>EventExpiry</name>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@користувач:сервер.домен</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Шифрування</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">Не вдалося встановити приховані події: %1</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>GridImagePackModel</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>Створити кімнату</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HiddenEvents</name>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>Ім&apos;я</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>Не вдалося встановити приховані події: %1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>Нова спільнота</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>Усі файли (*)</translation>
     </message>
     <message>
         <location line="+0"/>
-        <source>New Room</source>
-        <translation>Нова кімната</translation>
+        <source>Select file(s)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>Без імені</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>Помилка завантаження &quot;%1&quot;</translation>
     </message>
+</context>
+<context>
+    <name>LoginPage</name>
     <message>
-        <location line="+8"/>
-        <source>Topic</source>
-        <translation>Тема</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>Ви ввели недійсний ідентифікатор Matrix   наприклад @taras:matrix.org</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>Немає теми</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Помилка автовиявлення. Отримано неправильну відповідь.</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>Псевдонім</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Помилка автовиявлення. Невідома помилка під час запиту .well-known.</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>Загальнодоступна</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Потрібні кінцеві точки не знайдено. Можливо, це не сервер Matrix.</translation>
     </message>
     <message>
         <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>До загальнодоступних кімнат може приєднатися кожен; приватні кімнати потребують явних запрошень.</translation>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Отримано неправильну відповідь. Переконайтеся, що домен домашнього сервера дійсний.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>Довірена</translation>
+        <location line="+8"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Сталася невідома помилка. Переконайтеся, що домен домашнього сервера дійсний.</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>Усім запрошеним надається той самий рівень влади, що й творцю</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>Вибраний сервер не підтримує версію протоколу Matrix, яку розуміє цей клієнт (від 1.1 до 1.5). Ви не можете ввійти.</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>Шифрування</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>Увійдіть за допомогою Apple</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>Застереження: шифрування не можна вимкнути</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>Продовжуйте з Facebook</translation>
     </message>
-</context>
-<context>
-    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>Розшифрувати ключі</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>Увійдіть за допомогою Google</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>Введіть ключ відновлення або парольну фразу, щоб розшифрувати свої ключі:</translation>
+        <source>Sign in with Twitter</source>
+        <translation>Увійдіть за допомогою Twitter</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>Введіть ключ відновлення або парольну фразу %1, щоб розшифрувати свої ключі:</translation>
+        <source>Login using %1</source>
+        <translation>Увійдіть за допомогою %1</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>Не вдалося розшифрувати</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>ВХІД SSO</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>Не вдалося розшифрувати ключі за допомогою наданого ключа відновлення або парольної фрази</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>Порожній пароль</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>Помилка входу SSO</translation>
     </message>
 </context>
 <context>
-    <name>DigitVerification</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Код підтвердження</translation>
-    </message>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>Не вдалося завантажити медіа. Будь ласка спробуйте ще раз.</translation>
+    </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Перевірте наступні цифри.   Ви повинні побачити однакові цифри з обох сторін.   Якщо вони відрізняються, натисніть «Вони не збігаються!» щоб перервати перевірку!</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 надіслав зашифроване повідомлення</translation>
     </message>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>Вони не збігаються!</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 відповів: %2</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Вони збігаються!</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 відповів зашифрованим повідомленням</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 відповів на повідомлення</translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 надіслав повідомлення</translation>
+    </message>
+</context>
+<context>
+    <name>PowerLevels</name>
+    <message>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Не вдалося оновити рівень потужності: %1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>Пошук</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>Не вдалося оновити рівень потужності: %1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>Люди</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>Інші події</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>Природа</translation>
+        <source>Other state events</source>
+        <translation>Інші адміністративні події</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>Їжа</translation>
+        <source>Remove other users</source>
+        <translation>Видалити інших користувачів</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>Активності</translation>
+        <source>Ban other users</source>
+        <translation>Забанити інших користувачів</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>Подорожі</translation>
+        <source>Invite other users</source>
+        <translation>Запросити інших користувачів</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>Об&apos;єкти</translation>
+        <source>Redact events sent by others</source>
+        <translation>Редагувати події, надіслані іншими</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>Символи</translation>
+        <source>Reactions</source>
+        <translation>Реакції</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>Прапори</translation>
+        <source>Deprecated aliases events</source>
+        <translation>Застарілі події псевдонімів</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>Код підтвердження</translation>
+        <location line="+2"/>
+        <source>Change the room avatar</source>
+        <translation>Змінити аватар кімнати</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>Перевірте наступні емодзі. Ви повинні побачити однакові емодзі з обох сторін. Якщо вони відрізняються, натисніть «Вони не збігаються!» щоб перервати перевірку!</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>Змінити адреси кімнат</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>Відображені емодзі можуть виглядати по-різному в різних клієнтах, якщо використовується інший шрифт. Так само вони можуть бути перекладені різними мовами. Тим не менш, вони повинні зображати один із 64 різних предметів або тварин. Наприклад, лев і кіт різні, але кіт однаковий, навіть якщо один клієнт показує лише котяче обличчя, а інший показує повне котяче тіло.</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>Надіслати зашифровані повідомлення</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>Вони не збігаються!</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>Увімкнути шифрування</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>Вони збігаються!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>Змінити гостьовий доступ</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>Немає ключа для розблокування цього повідомлення. Ми запросили ключ автоматично, але Ви можете спробувати запросити його знову вручну.</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>Змінити видимість історії</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>Це повідомлення не вдалося розшифрувати, оскільки ми маємо ключ лише для нових повідомлень. Ви можете спробувати надіслати запит на доступ до цього повідомлення.</translation>
+        <source>Change who can join</source>
+        <translation>Змінити тих, хто може приєднатися</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>Під час читання ключа розшифровки з бази даних сталася внутрішня помилка.</translation>
+        <source>Send messages</source>
+        <translation>Надіслати повідомлення</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>Під час розшифровки цього повідомлення сталася помилка.</translation>
+        <source>Change the room name</source>
+        <translation>Змінити назву кімнати</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>Не вдалося проаналізувати повідомлення.</translation>
+        <source>Change the room permissions</source>
+        <translation>Змінити дозволи кімнати</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>Ключ шифрування використано повторно! Можливо, хтось намагається вставити неправдиві повідомлення в цей чат!</translation>
+        <source>Change the rooms topic</source>
+        <translation>Змінити тему кімнат</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>Невідома помилка дешифрування</translation>
+        <source>Change the widgets</source>
+        <translation>Змінити віджети</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>Запитати ключ</translation>
+        <location line="+2"/>
+        <source>Change the widgets (experimental)</source>
+        <translation>Змінити віджети (експериментально)</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 увімкнув наскрізне шифрування</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>Редагувати власні події</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>Шифрування зберігає ваші повідомлення в безпеці, дозволяючи прочитати повідомлення лише людям, яким ви надіслали. Для додаткової безпеки, якщо ви хочете переконатися, що спілкуєтеся з потрібними людьми, ви можете перевірити їх у реальному житті.</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>Змінити закріплені події</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>Це повідомлення не зашифровано!</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>Оновити кімнату</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>Зашифровано перевіреним пристроєм</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>Надіслати наліпки</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>Заборонити користувачів за допомогою правил політики</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>Зашифровано неперевіреним пристроєм, але ви довіряєте цьому користувачеві.</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>Заборонити кімнати за правилами політики</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>Зашифровано неперевіреним пристроєм або ключ отримано з ненадійного джерела, як-от резервна копія ключа.</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>Заборонити сервери за допомогою правил політики</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>Не вдалося перевірити</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>Редагувати дочірні спільноти та кімнати</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>Інший клієнт не підтримує наш протокол перевірки.</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>Змінити батьківські громади</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>Виявлено невідповідність ключів!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>Розпочати дзвінок</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>Час перевірки пристрою минув.</translation>
+        <source>Negotiate a call</source>
+        <translation>Домовитися про дзвінок</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>Інша сторона скасувала перевірку.</translation>
+        <source>Answer a call</source>
+        <translation>Відповісти на дзвінок</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>Повідомлення про підтвердження отримано не в порядку!</translation>
+        <source>Hang up a call</source>
+        <translation>Покласти трубку</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>Невідома помилка підтвердження.</translation>
+        <source>Reject a call</source>
+        <translation>Відхилити дзвінок</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>Закрити</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>Змінити емоції кімнати</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>Переслати повідомлення</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>Інші користувачі</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>Не вдалося встановити приховані події: %1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>Створити унікальний профіль, який дозволить вам входити в кілька облікових записів одночасно та запускати кілька екземплярів nheko.</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>Приховані події для %1</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>профіль</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>Приховані події</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>імя профілю</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>Ці події будуть &lt;b&gt;показані&lt;/b&gt; в %1:</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>Псевдонім для &apos;--log-level trace&apos;.</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>Ці події &lt;b&gt;відображатимуться&lt;/b&gt; в усіх кімнатах:</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>Установіть глобальний рівень журналу або розділений комами список пар &lt;component&gt;=&lt;level&gt;, або обидва. Наприклад, щоб встановити рівень журналу за замовчуванням на «попередження», але вимкнути журналювання для компонента «ui», передайте «warn,ui=off». рівні: {trace,debug,info,warning,error,critical,off} компоненти:{crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>Події користувача</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>рівень</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>Приєднання, виходи, зміни аватара та імені, блокування, …</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>Встановіть тип виведення журналу. Допускається список, розділений комами. Типовим є &apos;file,stderr&apos;. типи: {file, stderr, none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>Зміна прав доступу</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>тип</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>Відповісти</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>Надсилається, коли додається/видаляється модератор або змінюються дозволи кімнати.</translation>
+        <source>Send</source>
+        <translation>Надіслати</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>Наліпки</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>Написати повідомлення…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>Редагування набору зображень</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>Учора, %1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>Додати зображення</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>Помилка автовиявлення. Отримано неправильну відповідь.</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>Зображення (*.png *.webp *.gif *.jpg *.jpeg)</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>Помилка автовиявлення. Невідома помилка під час запиту .well-known.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>Вибрати зображення для набору</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>Потрібні кінцеві точки не знайдено. Можливо, це не сервер Matrix.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>Додати до набору</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>Отримано неправильну відповідь. Переконайтеся, що домен домашнього сервера дійсний.</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>Змінити оглядове зображення для цього набору</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>Сталася невідома помилка. Переконайтеся, що домен домашнього сервера дійсний.</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>Оглядове зображення (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>Вибраний сервер не підтримує версію протоколу Matrix, яку розуміє цей клієнт (від 1.1 до 1.5). Ви не можете зареєструватися.</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>Вибрати оглядове зображення для набору</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>Сервер не підтримує потоки реєстрації запитів!</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>Унікальне ім&apos;я</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>Сервер не підтримує реєстрацію.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>Назва набору</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>Невірне ім&apos;я користувача.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>Атрибуція</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>Використовувати як емодзі</translation>
-    </message>
-    <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>Використовувати як наліпку</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>Короткий код</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>Тіло</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>Вилучити з набору</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>Вилучити</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>Налаштування набору зображень</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>Створити обліковий запис</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>Новий набір кімнат</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>Приватний набір</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>Набір з цієї кімнати</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>Набір з батьківської спільноти</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>Увімкнений глобально набір</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>Увімкнути глобально</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>Дозволяє використовувати цей пакет у всіх кімнатах</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>Змінити</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>Закрити</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Усі файли (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>Помилка завантаження &quot;%1&quot;</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>Запросити користувачів до %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@taras:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>Пошук користувача</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>Пошук на сервері</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>Запросити</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Скасувати</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>Приєднатися до кімнати</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>ID кімнати або псевдонім</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>Приєднатися</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>Залишити кімнату</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>Ви впевнені, що хочете піти?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation>Ідентифікатор Matrix</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>наприклад @taras:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>Ваше ім&apos;я для входу. Ідентифікатор Matrix має починатися з @, за яким іде ідентифікатор користувача. Після ідентифікатора користувача потрібно включити ім’я вашого сервера після :.
-Ви також можете вказати адресу домашнього сервера, якщо ваш сервер не підтримує .well-known lookup.
-Приклад: @користувач:мій.сервер
-Якщо Nheko не зможе виявити ваш домашній сервер, він покаже вам поле для введення сервера вручну.</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>Пароль</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>Ваш пароль.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Ім&apos;я пристрою</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>Ім’я цього пристрою, яке буде показано іншим під час перевірки ваших пристроїв. Якщо нічого не вказано, використовується значення за умовчанням.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>Адреса, за якою можна зв’язатися з клієнтським API вашого домашнього сервера.
-Приклад: https://мій.сервер:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>Адреса домашнього сервера</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>мій.сервер:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>ВХІД</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>Назад</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>Ви ввели недійсний ідентифікатор Matrix   наприклад @taras:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Помилка автовиявлення. Отримано неправильну відповідь.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Помилка автовиявлення. Невідома помилка під час запиту .well-known.</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Потрібні кінцеві точки не знайдено. Можливо, це не сервер Matrix.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Отримано неправильну відповідь. Переконайтеся, що домен домашнього сервера дійсний.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Сталася невідома помилка. Переконайтеся, що домен домашнього сервера дійсний.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>Вибраний сервер не підтримує версію протоколу Matrix, яку розуміє цей клієнт (від 1.1 до 1.5). Ви не можете ввійти.</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>Увійдіть за допомогою Apple</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>Продовжуйте з Facebook</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>Увійдіть за допомогою Google</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>Увійдіть за допомогою Twitter</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>Увійдіть за допомогою %1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>ВХІД SSO</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>Порожній пароль</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>Помилка входу SSO</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>Вийти</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>Триває дзвінок. Вийти?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>Ви впевнені, що хочете вийти?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>Не вдалося завантажити медіа. Будь ласка спробуйте ще раз.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation>%1 видалив повідомлення</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 змінив назву кімнати на: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 видалив назву кімнати</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 змінив тему на: %1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 видалив тему</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 змінив аватар кімнати</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 змінив закріплені повідомлення.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 змінив адреси для цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 створив і налаштував кімнату: %2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 зробив голосовий виклик.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 здійснив відеодзвінок.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 зателефонував.</translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 відхилив виклик.</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 вибрав відповідь</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 обговорює виклик...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>Дозволити їм увійти</translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 відповів на дзвінок.</translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>Цю кімнату було замінено з такої причини: %1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>Йти до кімнати заміни</translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 змінив батьківські спільноти для цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 завершив виклик.</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>Покласти трубку</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>Зателефонувати</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>Вже на дзвінку</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>Надіслати файл</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>Написати повідомлення…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>Наліпки</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>Емодзі</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>Надіслати</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>Ви не маєте дозволу надсилати повідомлення в цій кімнаті</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>Змінити</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>Реагувати</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>Відповісти в ланцюжку</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>Новий ланцюжок</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>Відповісти</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>Опції</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>Причина видалення</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>Введіть причину видалення або натисніть Enter щоб видалити без причини:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Копіювати</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>Копіювати &amp;посилання розташування</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>Ре&amp;агувати</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>Відпо&amp;вісти</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>Змінити</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;Зв&apos;язок</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>Від&amp;кріпити</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>&amp;Закріпити</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>&amp;Прочитати квитанції</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Вперед</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>&amp;Відзначити як прочитане</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>Переглянути необроблене повідомлення</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>Переглянути розшифроване необроблене повідомлення</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>Ви&amp;далити повідомлення</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>&amp;Зберегти як</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>&amp;Відкрити у зовнішній програмі</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>Копіювати посилання на &amp;подію</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>&amp;Перейти до цитованого повідомлення</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>Надіслати запит на підтвердження</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>Отримано запит на підтвердження</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>Щоб дозволити іншим користувачам бачити, які з ваших пристроїв насправді належать вам, ви можете підтвердити їх. Це також дозволяє резервне копіювання ключів працювати автоматично. Перевірити неперевірений пристрій зараз? (Переконайтеся, що у вас є один із цих пристроїв.)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>Щоб дозволити іншим користувачам бачити, які з ваших пристроїв насправді належать вам, ви можете перевірити їх. Це також дозволяє резервне копіювання ключів працювати автоматично. Перевірити %1 зараз?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>Щоб переконатися, що жоден зловмисник не зможе підслухати ваші зашифровані повідомлення, ви можете перевірити іншу сторону.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 надіслав запит на перевірку свого пристрою %2.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1, використовуя пристрій %2, надіслав запит на перевірку.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>Ваш пристрій (%1) надіслав запит на перевірку.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>Скасувати</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>Відказати</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>Почати перевірку</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>Прийняти</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>Ви збираєтеся повідомити всю кімнату</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 надіслав зашифроване повідомлення</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 відповів: %2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 відповів зашифрованим повідомленням</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 відповів на повідомлення</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 надіслав повідомлення</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>Зателефонувати %1?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>Мікрофон не знайдено.</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>Голос</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>Відео</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>Екран</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>Скасувати</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>нереалізована подія: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>Дозволи в %1</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>Будьте обережні під час редагування дозволів. Ви не можете знизити дозволи для людей з таким самим або вищим рівнем, ніж ваш. Будьте обережні, просуваючи інших.</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>Ролі</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>Користувачі</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>Переміщуйте дозволи між ролями, щоб змінювати їх</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>Адміністратор (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>Модератор (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>Користувач (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>Спеціальний (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>Видалити тип події</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>Додати тип події</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>Додати нову роль</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>Додати</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>Перемістіть користувачів вгору або вниз, щоб змінити їхні дозволи</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>Видалити користувача</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>Додати користувача</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>Застосувати зміни дозволів</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>До яких підспільнот і кімнат слід застосувати ці дозволи?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>Застосувати дозволи рекурсивно</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>Перезаписати наявні зміни в кімнатах</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>Тут немає дозволів для застосування нових дозволів</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>Зміни не потрібні</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>Існуючі зміни дозволів у цій кімнаті буде перезаписано</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>Дозволи синхронізовані з спільнотою</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Не вдалося оновити рівень потужності: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>Не вдалося оновити рівень потужності: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>Інші події</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>Інші адміністративні події</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>Видалити інших користувачів</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>Забанити інших користувачів</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>Запросити інших користувачів</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>Редагувати події, надіслані іншими</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>Реакції</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>Застарілі події псевдонімів</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>Змінити аватар кімнати</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>Змінити адреси кімнат</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>Надіслати зашифровані повідомлення</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>Увімкнути шифрування</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>Змінити гостьовий доступ</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>Змінити видимість історії</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>Змінити тих, хто може приєднатися</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>Надіслати повідомлення</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>Змінити назву кімнати</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>Змінити дозволи кімнати</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>Змінити тему кімнат</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>Змінити віджети</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>Змінити віджети (експериментально)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>Редагувати власні події</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>Змінити закріплені події</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>Оновити кімнату</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>Надіслати наліпки</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>Заборонити користувачів за допомогою правил політики</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>Заборонити кімнати за правилами політики</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>Заборонити сервери за допомогою правил політики</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>Редагувати дочірні спільноти та кімнати</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>Змінити батьківські громади</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>Розпочати дзвінок</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>Домовитися про дзвінок</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>Відповісти на дзвінок</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>Покласти трубку</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>Відхилити дзвінок</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>Змінити емоції кімнати</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>Інші користувачі</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>Створити унікальний профіль, який дозволить вам входити в кілька облікових записів одночасно та запускати кілька екземплярів nheko.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>профіль</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>імя профілю</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>Псевдонім для &apos;--log-level trace&apos;.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>Установіть глобальний рівень журналу або розділений комами список пар &lt;component&gt;=&lt;level&gt;, або обидва. Наприклад, щоб встановити рівень журналу за замовчуванням на «попередження», але вимкнути журналювання для компонента «ui», передайте «warn,ui=off». рівні: {trace,debug,info,warning,error,critical,off} компоненти:{crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>рівень</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>Встановіть тип виведення журналу. Допускається список, розділений комами. Типовим є &apos;file,stderr&apos;. типи: {file, stderr, none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>тип</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>Відповісти</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>Надіслати</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>Написати повідомлення…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>Прочитати квитанції</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>Учора, %1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>Ім&apos;я користувача</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>Ім’я користувача не має бути порожнім і має містити лише символи a-z, 0-9, ., _, =, - та /.</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>Назад</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>Пароль</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>Виберіть надійний пароль. Точні вимоги до надійності пароля можуть залежати від вашого сервера.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>Підтвердження паролю</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>Ім’я цього пристрою, яке буде показано іншим під час перевірки ваших пристроїв. Якщо нічого не вказано, використовується значення за умовчанням.</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>Домашній сервер</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>ваш.сервер</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>Сервер, який дозволяє реєструватися. Оскільки матриця децентралізована, вам потрібно спочатку знайти сервер, на якому можна зареєструватися, або розмістити власний.</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>Ваші паролі не збігаються!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>Ім&apos;я пристрою</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>ЗАРЕЄСТРУВАТИСЯ</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>Помилка автовиявлення. Отримано неправильну відповідь.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>Помилка автовиявлення. Невідома помилка під час запиту .well-known.</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>Потрібні кінцеві точки не знайдено. Можливо, це не сервер Matrix.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>Отримано неправильну відповідь. Переконайтеся, що домен домашнього сервера дійсний.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>Сталася невідома помилка. Переконайтеся, що домен домашнього сервера дійсний.</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>Вибраний сервер не підтримує версію протоколу Matrix, яку розуміє цей клієнт (від 1.1 до 1.5). Ви не можете зареєструватися.</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>Сервер не підтримує потоки реєстрації запитів!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>Сервер не підтримує реєстрацію.</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>Невірне ім&apos;я користувача.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>Ім&apos;я вже використовується.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>Частина зарезервованого простору імен.</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>Закрити</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>Скасувати редагування</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>Скасувати ланцюжок</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>Досліджуйте громадські кімнати</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>Пошук громадських кімнат</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>Вибрати спеціальний домашній сервер</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>версія не збережена</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>Новий тег</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>Введіть тег, який ви хочете використовувати:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>Відкрити окремо</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>Налаштування кімнати</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Залишити кімнату</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>Копіювати посилання на кімнату</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>Позначити кімнату як:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>Вибране</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>Низький пріоритет</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>Повідомлення сервера</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>Створити новий тег…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>Додати або видалити зі спільноти...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>Повідомлення про статус</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>Введіть своє повідомлення про статус:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>Налаштування профілю</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>Встановити повідомлення про статус</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>Вийти</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>Шифрування не встановлено</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>Неперевірений вхід</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>Будь ласка, перевірте інші пристрої</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>Закрити</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>Почати новий чат</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>Приєднатися до кімнати</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>Створити нову кімнату</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>Розпочати прямий чат</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>Створити нову спільноту</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>Каталог кімнат</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>Пошук кімнат (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>Налаштування користувача</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>Члени %1</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n людина в %1</numerusform>
-            <numerusform>%n людини в %1</numerusform>
-            <numerusform>%n осіб у %1</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>Запросити більше людей</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>Пошук...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>Сортувати за: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>Ідентифікатор користувача</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>Відображуване ім&apos;я</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>Рівень доступу</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>Адміністратор: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>Модератор: %1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>Користувач: %1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>Ця кімната не зашифрована!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>Цей користувач перевірений.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>Цей користувач не перевірений, але все ще використовує той самий головний ключ, який був у вашій першій зустрічі.</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>Ім&apos;я вже використовується.</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>Цей користувач має неперевірені пристрої!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>Налаштування кімнати</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>Змінити аватар кімнати.</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>Змінити назву цієї кімнати</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n учасник</numerusform>
-            <numerusform>%n учасники</numerusform>
-            <numerusform>%n учасників</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>Переглянути учасників %1</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>Тема не встановлена</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>Змінити тему цієї кімнати</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>НАЛАШТУВАННЯ</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>Сповіщення</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>Приглушений</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>Лише згадки</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>Всі повідомлення</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>Шифрування</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>Наскрізне шифрування</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>Наразі шифрування є експериментальним і може несподівано вийти з ладу. &lt;br&gt;
-Будь ласка, зверніть увагу, що після цього його не можна буде вимкнути.</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>Дозволи</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>Переглянути та змінити дозволи в цій кімнаті</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>Переглянути та змінити адреси/псевдоніми цієї кімнати</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>Налаштування наліпок і емоцій</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>Змінити</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>Приховані події</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>Налаштувати</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>Будь-хто може приєднатися</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>Дозволити стукіт</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>Дозволити приєднання через інші кімнати</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>Кімнати для приєднання</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>Змінити список кімнат, через які користувачі можуть приєднатися до цієї кімнати. Зазвичай це офіційна спільнота цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>Дозволити гостям приєднатися</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>Застосувати правила доступу</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>Псевдоніми</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>Змінити увімкнені пакети, видалити пакети або створіть нові</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>Вибрати події, які потрібно приховати в цій кімнаті</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>ІНФО</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>Внутрішній ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>Скопійовано в буфер обміну</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>Версія кімнати</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>показати менше</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>показати більше</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>Не вдалося ввімкнути шифрування: %1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>Вибрати аватар</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>Усі файли (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>Вибраний файл не є зображенням</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>Помилка під час читання файлу: %1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>Не вдалося завантажити зображення: %s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>Очікує запрошення.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>Попередній перегляд цієї кімнати</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>Попередній перегляд недоступний</translation>
+        <source>Part of the reserved namespace.</source>
+        <translation>Частина зарезервованого простору імен.</translation>
     </message>
 </context>
 <context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>Щоб продовжити, введіть свій пароль для входу:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>Щоб продовжити, введіть дійсну електронну адресу:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>Щоб продовжити, введіть дійсний номер телефону:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>Будь ласка, введіть токен, який вам було надіслано:</translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>Зачекайте, поки надійде посилання для підтвердження, а потім продовжуйте.</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>версія не збережена</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>Поділитися робочим столом із %1?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>Не вдалося ввімкнути шифрування: %1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>Вікно:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>Вибрати аватар</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>Частота кадрів:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>Усі файли (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>Увімкнути камеру «картинка в картинці»</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>Вибраний файл не є зображенням</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>Запит на віддалену камеру</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>Помилка під час читання файлу: %1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>Переглядайте камеру абонента, як під час звичайного відеодзвінка</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>Не вдалося завантажити зображення: %s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>Приховати курсор миші</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>Очікує запрошення.</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>Поділитися</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>Попередній перегляд цієї кімнати</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>Попередній перегляд</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>Попередній перегляд недоступний</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>Скасувати</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>Не вдалося підключитися до секретного сховища</translation>
     </message>
@@ -3242,62 +1238,10 @@ Example: https://server.my:8787</source>
         <translation>Nheko не зміг підключитися до безпечного сховища для збереження секретів шифрування. Це може мати кілька причин. Перевірте, чи працює ваша служба D-Bus і чи налаштовано ви службу, наприклад KWallet, Gnome Keyring, KeePassXC або еквівалент для вашої платформи. Якщо у вас виникли проблеми, не соромтеся відкрити проблему тут: https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>Це ваш ключ відновлення. Він знадобиться для відновлення доступу до ваших зашифрованих повідомлень і ключів підтвердження. Зберігайте його в безпеці. Ні з ким не діліться і не втрачайте! Не проходьте Go! Не збирайте 200$!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>Шифрування налаштовано успішно</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>Не вдалося встановити шифрування: %1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>Налаштувати шифрування</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>Привіт і ласкаво просимо до Матриці!
-Здається, ти новачок. Перш ніж ви зможете надійно зашифрувати свої повідомлення, нам потрібно налаштувати кілька дрібниць. Ви можете відразу натиснути «Прийняти» або налаштувати кілька основних параметрів. Ми також намагаємося пояснити деякі основи. Ви можете пропустити ці частини, але вони можуть виявитися корисними!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>Активувати шифрування</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>Здається, ви вже налаштували шифрування для цього облікового запису. Щоб отримати доступ до зашифрованих повідомлень і зробити цей пристрій надійним, ви можете підтвердити наявний пристрій або (якщо він у вас є) ввести парольну фразу для відновлення. Виберіть один із наведених нижче варіантів.
-Якщо ви виберете перевірку, у вас повинен бути доступний інший пристрій. Якщо ви вибрали «ввести парольну фразу», вам знадобиться ваш ключ відновлення або парольна фраза. Якщо ви натиснете «Скасувати», ви зможете підтвердити себе пізніше.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>перевірити</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>введіть парольну фразу</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>Не вдалося створити ключі для перехресного підпису!</translation>
     </message>
@@ -3330,19 +1274,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>Не вдалося оновити пакет зображень: %1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>Не вдалося видалити старий пакет зображень: %1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>Не вдалося відкрити зображення: %1</translation>
     </message>
@@ -3353,97 +1297,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Не вдалося завантажити зображення: %1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>Додати або видалити зі спільноти</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>Офіційна спільнота цієї кімнати</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>Афілійована спільнота для цієї кімнати</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>Наведено лише для учасників спільноти</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>Наведено лише для учасників кімнати</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>Не пов&apos;язано</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>Підспільноти</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>Не вдалося</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>Надіслано</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>Отримано</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>Прочитано</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>Пошук</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>Успішна перевірка</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>Перевірка успішна!  Обидві сторони перевірили свої пристрої!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>Закрити</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>Помилка редагування повідомлення: %1</translation>
@@ -3475,7 +1332,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>Зберегти файл</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3751,267 +1608,109 @@ Reason: %4</source>
     <message>
         <location line="+152"/>
         <source>%2 revoked the invite to %1.</source>
-        <translation>%2 відкликав запрошення до %1.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation>%2 вигнав %1.</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation>%2 розблоковано %1.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 відхилив стукіт від %1.</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 змінив свій аватар.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 змінив деяку інформацію профілю.</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 приєднався.</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 приєднався через авторизацію з сервера %2.</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 відхилив їхнє запрошення.</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 залишив кімнату.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>Причина: %1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 відредагував свій стукіт.</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>Ви приєдналися до цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 зробив так, щоб ця кімната потребувала запрошення, щоб приєднатися.</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 запрошено %2.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 змінив свій аватар і відображуване ім’я на %2.</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 змінив своє відображуване ім’я на %2.</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 залишився після того, як уже пішов!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 заблоковано %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 постукав.</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>Відредаговано</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>Частина нитки розмови</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>Немає відкритих кімнат</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>Попередній перегляд недоступний</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>Налаштування</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n учасник</numerusform>
-            <numerusform>%n учасники</numerusform>
-            <numerusform>%n учасників</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>Переглянути учасників %1</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>приєднатися до розмови</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>прийняти запрошення</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>відхилити запрошення</translation>
+        <translation>%2 відкликав запрошення до %1.</translation>
     </message>
     <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>Приховати причину запрошення</translation>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
+        <translation>%2 вигнав %1.</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>Показати причину запрошення</translation>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
+        <translation>%2 розблоковано %1.</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>Назад до списку кімнат</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 відхилив стукіт від %1.</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>Назад до списку кімнат</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 змінив свій аватар.</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>Кімнату не вибрано</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 змінив деяку інформацію профілю.</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>У %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 приєднався.</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>Показати членів кімнати.</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 приєднався через авторизацію з сервера %2.</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>Ця кімната містить лише перевірені пристрої.</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 відхилив їхнє запрошення.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>Ця кімната містить перевірені пристрої та пристрої, які ніколи не змінювали свій головний ключ.</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 залишив кімнату.</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>Ця кімната містить неперевірені пристрої!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>Причина: %1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>Показати або приховати закріплені повідомлення</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 відредагував свій стукіт.</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>Шукати в цій кімнаті</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>Ви приєдналися до цієї кімнати.</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>Налаштування кімнати</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 зробив так, щоб ця кімната потребувала запрошення, щоб приєднатися.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>Запросити користувачів</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 запрошено %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>Учасники</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 змінив свій аватар і відображуване ім’я на %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>Залишити кімнату</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 змінив своє відображуване ім’я на %2.</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>Налаштування</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 залишився після того, як уже пішов!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>Відкріпити</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 заблоковано %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>Введіть пошуковий запит</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 постукав.</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>Показати</translation>
     </message>
@@ -4024,13 +1723,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>Немає доступних потоків реєстрації!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>Реєстрацію скасовано</translation>
@@ -4046,113 +1745,10 @@ Reason: %4</source>
         <translation>Неприпустимий токен</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>Завантажити файл</numerusform>
-            <numerusform>Завантажити %n файли</numerusform>
-            <numerusform>Завантажити %n файлів</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>Глобальний профіль користувача</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>Профіль користувача кімнати</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>Змінити аватар глобально.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>Змінити аватар. Стосуватиметься лише цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>Глобально змінити відображуване ім’я.</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>Змінити відображуване ім&apos;я. Стосуватиметься лише цієї кімнати.</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>Кімната: %1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>Це спеціальний профіль кімнати. Ім&apos;я та аватар користувача можуть відрізнятися від їх глобальних версій.</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>Відкрити глобальний профіль цього користувача.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>Перевірити</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>Почати приватний чат.</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>Вигнати користувача.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>Заблокувати користувача.</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>Оновити список пристроїв.</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>Вийти з цього пристрою.</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>Змінити ім&apos;я пристрою.</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>Востаннє бачили %1 з %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>Зняти підтвердження</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>Вийти з пристрою %1</translation>
     </message>
@@ -4185,8 +1781,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>За замовчуванням</translation>
     </message>
@@ -4194,7 +1790,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>Тема</translation>
     </message>
@@ -4263,6 +1859,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation>Сортувати кімнати за непрочитаними</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4524,12 +2125,22 @@ Reason: %4</source>
         <translation>Відображення інформації про кімнату через D-Bus</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>За замовчуванням</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>Налаштування звуку сповіщення, який буде відтворюватися, коли надходить запрошення на дзвінок</translation>
     </message>
@@ -4602,7 +2213,21 @@ This will also enable or disable sending typing notifications to others.</source
 Це також увімкне або вимкне надсилання сповіщень про набір тексту іншим користувачам.</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>Показувати кнопки для швидкої відповіді, реакції або доступу до додаткових опцій поруч з кожним повідомленням.</translation>
     </message>
@@ -4656,17 +2281,17 @@ This usually causes the application icon in the task bar to animate in some fash
 Зазвичай це призводить до того, що іконка програми на панелі завдань певним чином анімується.</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>Бічна панель спільнот</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>Показати кількість повідомлень для спільнот і тегів</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>Встановити максимальну ширину повідомлень на часовій шкалі (у пікселях). Це може покращити читабельність на широкому екрані, коли Nheko максимізовано</translation>
     </message>
@@ -4676,16 +2301,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation>Показати стовпчик зі спільнотами та тегами поруч зі списком кімнат.</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>Спочатку показувати кімнати з новими повідомленнями.
-Якщо цю опцію вимкнено, список кімнат буде відсортовано лише за міткою часу останнього повідомлення в кімнаті.
-Якщо цей параметр увімкнено, кімнати, які мають активні сповіщення (маленьке коло з цифрою всередині), будуть відсортовані зверху. Кімнати, які ви вимкнули, все одно будуть відсортовані за міткою часу, оскільки, схоже, ви не вважаєте їх такими ж важливими, як інші кімнати.</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4776,7 +2392,17 @@ This setting will take effect upon restart.</source>
 Це налаштування набуде чинності після перезапуску.</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>Вибрати файл</translation>
     </message>
@@ -4786,7 +2412,7 @@ This setting will take effect upon restart.</source>
         <translation>Усі файли (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>Відкрити файл сеансів</translation>
     </message>
@@ -4828,117 +2454,18 @@ This setting will take effect upon restart.</source>
         <translation>Файл для збереження експортованих сеансових ключів</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>ЗАПИТАТИ</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>ЗАВАНТАЖИТИ</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>КЕШОВАНО</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>НЕ КЕШОВАНО</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>Назад</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>ІМПОРТУВАТИ</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>ЕКСПОРТУВАТИ</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>Зашифрований приватний чат з цим користувачем не знайдено. Створіть зашифрований приватний чат з цим користувачем і спробуйте ще раз.</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>В очікуванні іншої сторони…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>Очікування, коли інша сторона прийме запит на верифікацію.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>Очікування на продовження процесу верифікації іншою стороною.</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>Очікування завершення процесу верифікації іншою стороною.</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>Скасувати</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>Ласкаво просимо до Nheko, десктопного клієнту для протоколу Matrix.</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>Приємного перебування!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>РЕЄСТРУВАТИСЯ</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>ВХІД</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>Зменшити кількість анімацій</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko використовує анімацію в кількох місцях, щоб бути красивіше. Це дозволяє вам вимкнути їх, якщо вони викликають у вас неприємні відчуття.</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>Вчора</translation>
     </message>
@@ -4946,7 +2473,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>Відкрити резервну копію в браузері</translation>
     </message>
@@ -4967,32 +2494,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>Відкрити reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">Люди</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>Скасувати</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">Природа</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>Підтвердити</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">Їжа</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>Розгадайте reCAPTCHA і натисніть кнопку підтвердження</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">Активності</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">Подорожі</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">Об&apos;єкти</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">Символи</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">Прапори</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>Ви надіслали аудіозапис</translation>
     </message>
@@ -5053,25 +2600,25 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>Ви: %1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>Ви надіслали конфетті</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 надіслав конфетті</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>
diff --git a/resources/langs/nheko_vi.ts b/resources/langs/nheko_vi.ts
index f1525f92de8fa4176256d9ac92ac520269c3a816..baa07f6442314b7133f54079317c8468c837a061 100644
--- a/resources/langs/nheko_vi.ts
+++ b/resources/langs/nheko_vi.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="vi">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -138,76 +28,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
+        <location line="+3"/>
+        <source>PipeWire</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation type="unfinished"></translation>
     </message>
@@ -215,18 +54,26 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation type="unfinished"></translation>
     </message>
@@ -236,7 +83,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -267,12 +114,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -317,12 +164,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation type="unfinished"></translation>
     </message>
@@ -344,7 +191,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -417,16 +264,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -537,6 +379,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+6"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -678,47 +530,34 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+2"/>
-        <source>Go to a specific message using an event id, index or matrix: link</source>
+        <source>Send a message with rain.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this room to a direct chat.</source>
+        <source>Send a message with a custom message type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Convert this direct chat into a room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
+        <source>Go to a specific message using an event id, index or matrix: link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+86"/>
-        <source>Expand</source>
+        <location line="+2"/>
+        <source>Convert this room to a direct chat.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Collapse</source>
+        <location line="+2"/>
+        <source>Convert this direct chat into a room.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -768,7 +607,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -789,2643 +628,672 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
+        <location line="+28"/>
+        <source>Decryption failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
+        <location line="+0"/>
+        <source>Select file(s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
+        <location line="+2"/>
+        <source>Login using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
+        <location line="-467"/>
+        <source>Other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
+        <location line="+2"/>
+        <source>Other state events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
+        <source>Remove other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
+        <source>Ban other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
+        <source>Invite other users</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
+        <source>Redact events sent by others</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
+        <source>Reactions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
+        <source>Deprecated aliases events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
+        <source>Change the room avatar</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
+        <location line="+2"/>
+        <source>Enable encryption</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
+        <location line="+2"/>
+        <source>Change guest access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
+        <location line="+2"/>
+        <source>Change history visibility</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
+        <location line="+2"/>
+        <source>Change who can join</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
+        <source>Send messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
+        <source>Change the room name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
+        <source>Change the room permissions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
+        <source>Change the rooms topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
+        <source>Change the widgets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
+        <source>Change the widgets (experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
+        <location line="+2"/>
+        <source>Redact own events</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
+        <location line="+2"/>
+        <source>Send stickers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+        <source>Ban rooms using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
+        <source>Ban servers using policy rules</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
+        <location line="+2"/>
+        <source>Change parent communities</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
+        <location line="+3"/>
+        <source>Start a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
+        <source>Negotiate a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
+        <source>Answer a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
+        <source>Hang up a call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Close</source>
+        <source>Reject a call</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ForwardCompleter</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
+        <location line="+217"/>
+        <source>Other users</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HiddenEventsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>QCoreApplication</name>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
+        <location line="+2"/>
+        <source>profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
+        <source>profile name</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
+        <location line="+5"/>
+        <source>level</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ImagePackEditorDialog</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
+        <location line="+2"/>
+        <source>type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Select images for pack</source>
+        <source>Send</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Add to pack</source>
+        <source>Write a message...</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
+        <location line="+7"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Body</source>
+        <location line="+28"/>
+        <source>Invalid username.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
+        <location line="+2"/>
+        <source>Name already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Remove</source>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>RoomInfo</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>RoomSettings</name>
     <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
+        <location line="+404"/>
+        <source>Select an avatar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
+        <location line="+0"/>
+        <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Edit</source>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+65"/>
-        <source>Close</source>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>InputBar</name>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
+        <location line="+29"/>
+        <source>Previewing this room</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>InviteDialog</name>
     <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+247"/>
-        <source>%1 removed a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>%1 created and configured room: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
+        <location line="+33"/>
+        <source>No preview available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+30"/>
-        <source>%1 rejected the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-193"/>
-        <source>%1 answered the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-338"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+281"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>%1 ended the call.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ScreenShare</name>
-    <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SecretStorage</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
-        <source>Failed to connect to secret storage</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SelfVerificationStatus</name>
-    <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
-        <source>Failed to create keys for cross-signing!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Failed to create keys for online key backup!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Failed to create keys for secure server side secret storage!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+44"/>
-        <source>Encryption Setup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Encryption setup failed: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+156"/>
-        <source>Identity key changed. This breaks E2EE, so logging out.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SingleImagePackModel</name>
-    <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
-        <source>Failed to update image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-12"/>
-        <source>Failed to delete old image pack: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <location line="+44"/>
-        <source>Failed to open image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-15"/>
-        <location line="+29"/>
-        <source>Failed to upload image: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
+        <source>This room is possibly inaccessible</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SecretStorage</name>
     <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
+        <source>Failed to connect to secret storage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
+        <location line="+1"/>
+        <source>Nheko could not connect to the secure storage to save encryption secrets to. This can have multiple reasons. Check if your D-Bus service is running and you have configured a service like KWallet, Gnome Keyring, KeePassXC or the equivalent for your platform. If you are having trouble, feel free to open an issue here: https://github.com/Nheko-Reborn/nheko/issues</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SelfVerificationStatus</name>
     <message>
-        <location line="+8"/>
-        <source>Not related</source>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
+        <source>Failed to create keys for cross-signing!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
+        <location line="+16"/>
+        <source>Failed to create keys for online key backup!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
     <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
+        <location line="+29"/>
+        <source>Failed to create keys for secure server side secret storage!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Sent</source>
+        <location line="+44"/>
+        <source>Encryption Setup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Received</source>
+        <location line="+6"/>
+        <source>Encryption setup failed: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Read</source>
+        <location line="+156"/>
+        <source>Identity key changed. This breaks E2EE, so logging out.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>StickerPicker</name>
+    <name>SingleImagePackModel</name>
     <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
+        <source>Failed to update image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>Success</name>
     <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
+        <location line="-13"/>
+        <source>Failed to delete old image pack: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
+        <location line="+28"/>
+        <location line="+45"/>
+        <source>Failed to open image: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+14"/>
-        <source>Close</source>
+        <location line="-15"/>
+        <location line="+29"/>
+        <source>Failed to upload image: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation type="unfinished"></translation>
@@ -3457,7 +1325,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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">
@@ -3705,421 +1573,164 @@ If you choose verify, you need to have the other device available. If you choose
     </message>
     <message>
         <location line="+2"/>
-        <source>%1 (%2) removed this message at %3</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Removed by %1 because: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>%1 (%2) removed this message at %3
-Reason: %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+152"/>
-        <source>%2 revoked the invite to %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>TopBar</name>
-    <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Members</source>
+        <source>%1 (%2) removed this message at %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
+        <location line="+2"/>
+        <source>Removed by %1 because: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
+        <location line="+1"/>
+        <source>%1 (%2) removed this message at %3
+Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
+        <location line="+152"/>
+        <source>%2 revoked the invite to %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
-        <source>Show</source>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Quit</source>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
-        <source>No available registration flows!</source>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
-        <location line="+17"/>
-        <source>Registration aborted</source>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>Please enter a valid registration token.</source>
+        <location line="+5"/>
+        <source>%1 joined.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+165"/>
-        <source>Invalid token</source>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
+        <location line="+31"/>
+        <source>Reason: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TrayIcon</name>
     <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
+        <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
+        <location line="+1"/>
+        <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIA</name>
     <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
+        <source>No available registration flows!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
+        <location line="+50"/>
+        <location line="+22"/>
+        <location line="+17"/>
+        <source>Registration aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
+        <location line="-27"/>
+        <source>Please enter a valid registration token.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+27"/>
-        <source>Unverify</source>
+        <location line="+165"/>
+        <source>Invalid token</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UserProfile</name>
     <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4152,8 +1763,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4161,7 +1772,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4230,6 +1841,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4491,12 +2107,22 @@ Reason: %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4565,7 +2191,21 @@ This will also enable or disable sending typing notifications to others.</source
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4617,17 +2257,17 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4637,14 +2277,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4727,7 +2360,17 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4737,7 +2380,7 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4779,171 +2422,92 @@ This setting will take effect upon restart.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>descriptiveTime</name>
     <message>
-        <location line="+19"/>
-        <source>Cancel</source>
+        <location filename="../../src/Utils.cpp" line="+208"/>
+        <source>Yesterday</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>dialogs::FallbackAuth</name>
     <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
+        <source>Open Fallback in Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
+        <location line="+1"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
+        <location line="+1"/>
+        <source>Confirm</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
-        <source>Yesterday</source>
+        <location line="+12"/>
+        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>dialogs::FallbackAuth</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
-        <source>Open Fallback in Browser</source>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Nature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Food</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Open the fallback, follow the steps, and confirm after completing them.</source>
+        <location line="+2"/>
+        <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>dialogs::ReCaptcha</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
+        <location line="+2"/>
+        <source>Travel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Objects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
+        <location line="+2"/>
+        <source>Symbols</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
+        <location line="+2"/>
+        <source>Flags</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5004,24 +2568,24 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
+        <source>You sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
+        <source>%1 sent a chat effect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/resources/langs/nheko_zh_CN.ts b/resources/langs/nheko_zh_CN.ts
index 82d52293821ee344dc046aec2a99e27926861873..167beb38d9ad9202c5dfc524be59b11a76ade6eb 100644
--- a/resources/langs/nheko_zh_CN.ts
+++ b/resources/langs/nheko_zh_CN.ts
@@ -1,44 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="zh_CN">
-<context>
-    <name>ActiveCallBar</name>
-    <message>
-        <location filename="../qml/voip/ActiveCallBar.qml" line="+109"/>
-        <source>Calling...</source>
-        <translation>呼叫中…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+10"/>
-        <source>Connecting...</source>
-        <translation>正在连接…</translation>
-    </message>
-    <message>
-        <location line="+67"/>
-        <source>You are screen sharing</source>
-        <translation>你正在共享屏幕。</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Hide/Show Picture-in-Picture</source>
-        <translation>隐藏/展示 画中画</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unmute Mic</source>
-        <translation>取消麦克风静音</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mute Mic</source>
-        <translation>静音麦克风</translation>
-    </message>
-</context>
 <context>
     <name>AliasEditingModel</name>
     <message>
-        <location filename="../../src/AliasEditModel.cpp" line="+129"/>
+        <location filename="../../src/AliasEditModel.cpp" line="+128"/>
         <location line="+47"/>
         <location line="+60"/>
         <location line="+13"/>
@@ -51,86 +17,10 @@
         <translation>未能更新别名:%1</translation>
     </message>
 </context>
-<context>
-    <name>AliasEditor</name>
-    <message>
-        <location filename="../qml/dialogs/AliasEditor.qml" line="+27"/>
-        <source>Aliases to %1</source>
-        <translation>%1 的别名</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of aliases to this room. Usually you can only add aliases on your server. You can have one canonical alias and many alternate aliases.</source>
-        <translation>此聊天室的别名列表。通常你只能在你的服务器上添加别名。你可以拥有一个规范别名和多个备用别名。</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>Primary alias</source>
-        <translation>主别名</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Make primary alias</source>
-        <translation>设为主别名</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Advertise as an alias in this room</source>
-        <translation>在此聊天室中推广此别名</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Publish in room directory</source>
-        <translation>公布在聊天室目录中</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Remove this alias</source>
-        <translation>移除此别名</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>#new-alias:server.tld</source>
-        <translation>#new-alias:server.tld</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Add</source>
-        <translation>添加</translation>
-    </message>
-</context>
-<context>
-    <name>AllowedRoomsSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/AllowedRoomsSettingsDialog.qml" line="+28"/>
-        <source>Allowed rooms settings</source>
-        <translation>已允许的聊天室设置</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>List of rooms that allow access to this room. Anyone who is in any of those rooms can join this room.</source>
-        <translation>允许访问此聊天室的聊天室列表。任何在这些聊天室中的人都可以加入此聊天室。</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Parent community</source>
-        <translation>父社区</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Other room</source>
-        <translation>其他聊天室</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Enter additional rooms not in the list yet...</source>
-        <translation>输入尚未列入列表的其他聊天室...</translation>
-    </message>
-</context>
 <context>
     <name>Cache</name>
     <message numerus="yes">
-        <location filename="../../src/Cache.cpp" line="+2891"/>
+        <location filename="../../src/Cache.cpp" line="+2968"/>
         <source>%1 and %n other(s)</source>
         <translation>
             <numerusform>%1 和另外 %n 人</numerusform>
@@ -138,76 +28,25 @@
     </message>
     <message>
         <location line="+2"/>
-        <location line="+153"/>
+        <location line="+175"/>
         <source>Empty Room</source>
         <translation>空聊天室</translation>
     </message>
 </context>
 <context>
-    <name>CallInvite</name>
-    <message>
-        <location filename="../qml/voip/CallInvite.qml" line="+78"/>
-        <source>Video Call</source>
-        <translation>视频通话</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>语音通话</translation>
-    </message>
-    <message>
-        <location line="+62"/>
-        <source>No microphone found.</source>
-        <translation>未检测到麦克风。</translation>
-    </message>
-</context>
-<context>
-    <name>CallInviteBar</name>
-    <message>
-        <location filename="../qml/voip/CallInviteBar.qml" line="+67"/>
-        <source>Video Call</source>
-        <translation>视频通话</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Voice Call</source>
-        <translation>语音通话</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Devices</source>
-        <translation>设备</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Accept</source>
-        <translation>接受</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Unknown microphone: %1</source>
-        <translation>未知的麦克风:%1</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Unknown camera: %1</source>
-        <translation>未知的摄像头:%1</translation>
-    </message>
+    <name>CallManager</name>
     <message>
-        <location line="+14"/>
-        <source>Decline</source>
-        <translation>拒绝</translation>
+        <location filename="../../src/voip/CallManager.cpp" line="+877"/>
+        <source>X11</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-31"/>
-        <source>No microphone found.</source>
-        <translation>未检测到麦克风。</translation>
+        <location line="+3"/>
+        <source>PipeWire</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>CallManager</name>
     <message>
-        <location filename="../../src/voip/CallManager.cpp" line="+819"/>
+        <location line="+17"/>
         <source>Entire screen</source>
         <translation>整个屏幕</translation>
     </message>
@@ -215,18 +54,26 @@
 <context>
     <name>ChatPage</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+122"/>
+        <location filename="../../src/ChatPage.cpp" line="+114"/>
         <source>Failed to invite user: %1</source>
         <translation>未能邀请用户:%1</translation>
     </message>
     <message>
         <location line="+4"/>
-        <location line="+843"/>
+        <location line="+878"/>
         <source>Invited user: %1</source>
         <translation>邀请已发送:%1</translation>
     </message>
+    <message numerus="yes">
+        <location line="-631"/>
+        <source>%n unread message(s) in room %1
+</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
     <message>
-        <location line="-554"/>
+        <location line="+71"/>
         <source>Confirm logout</source>
         <translation>确认登出</translation>
     </message>
@@ -236,7 +83,7 @@
         <translation>当前设备中的缓存比 Nheko 支持的版本更新,请更新 Nheko 或清理缓存。</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+41"/>
         <source>Failed to open database, logging out!</source>
         <translation>未能打开数据库,账户将登出!</translation>
     </message>
@@ -267,12 +114,12 @@
     </message>
     <message>
         <location line="+43"/>
-        <location line="+471"/>
+        <location line="+477"/>
         <source>Confirm invite</source>
         <translation>确认邀请</translation>
     </message>
     <message>
-        <location line="-470"/>
+        <location line="-476"/>
         <source>Do you really want to invite %1 (%2)?</source>
         <translation>你真的想要邀请 %1 (%2) 吗?</translation>
     </message>
@@ -317,12 +164,12 @@
         <translation>解封用户:%1</translation>
     </message>
     <message>
-        <location line="+376"/>
+        <location line="+382"/>
         <source>Do you really want to start a private chat with %1?</source>
         <translation>是否确认与 %1 开始私密聊天?</translation>
     </message>
     <message>
-        <location line="-922"/>
+        <location line="-934"/>
         <source>Cache migration failed!</source>
         <translation>缓存迁移失败!</translation>
     </message>
@@ -346,7 +193,7 @@ If you think this is a mistake, you can close Nheko instead to possibly recover
         <translation>无法兼容缓存版本</translation>
     </message>
     <message>
-        <location line="+54"/>
+        <location line="+60"/>
         <source>Failed to restore OLM account. Please login again.</source>
         <translation>未能恢复 OLM 账户。请重新登录。</translation>
     </message>
@@ -420,16 +267,11 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Enter reason for banning %1 (%2) or hit enter for no reason:</source>
         <translation>输入封禁 %1 (%2) 的理由,如无理由请按回车:</translation>
     </message>
-    <message>
-        <location filename="../qml/ChatPage.qml" line="+38"/>
-        <source>No network connection</source>
-        <translation>网络未连接</translation>
-    </message>
 </context>
 <context>
     <name>CommandCompleter</name>
     <message>
-        <location filename="../../src/CommandCompleter.cpp" line="+106"/>
+        <location filename="../../src/CommandCompleter.cpp" line="+108"/>
         <source>/me &lt;message&gt;</source>
         <translation>/me &lt;消息&gt;</translation>
     </message>
@@ -540,6 +382,16 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
     <message>
         <location line="+16"/>
+        <source>/rainfall [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>/msgtype &lt;msgtype&gt; [message]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>/goto &lt;message reference&gt;</source>
         <translation>/goto &lt;消息参考&gt;</translation>
     </message>
@@ -679,6 +531,16 @@ You may optionally provide a reason for others to accept your knock:</source>
         <source>Send a message in rainbow colors with confetti.</source>
         <translation>发送一条带有彩色纸屑的彩虹色消息。</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with rain.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Send a message with a custom message type.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Go to a specific message using an event id, index or matrix: link</source>
@@ -695,33 +557,10 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>将此直接聊天转换为聊天室。</translation>
     </message>
 </context>
-<context>
-    <name>CommunitiesList</name>
-    <message>
-        <location filename="../qml/CommunitiesList.qml" line="+65"/>
-        <source>Do not show notification counts for this community or tag.</source>
-        <translation>不显示此社区或标签的通知计数。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hide rooms with this tag or from this community by default.</source>
-        <translation>默认隐藏带有此标签或来自此社区的聊天室。</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Expand</source>
-        <translation>展开</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Collapse</source>
-        <translation>收起</translation>
-    </message>
-</context>
 <context>
     <name>CommunitiesModel</name>
     <message>
-        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+82"/>
+        <location filename="../../src/timeline/CommunitiesModel.cpp" line="+77"/>
         <source>All rooms</source>
         <translation>所有聊天室</translation>
     </message>
@@ -771,7 +610,7 @@ You may optionally provide a reason for others to accept your knock:</source>
         <translation>来自服务器或管理员的消息。</translation>
     </message>
     <message>
-        <location line="+660"/>
+        <location line="+667"/>
         <source>Failed to update community: %1</source>
         <translation>未能更新社区: %1</translation>
     </message>
@@ -792,2444 +631,600 @@ You may optionally provide a reason for others to accept your knock:</source>
     </message>
 </context>
 <context>
-    <name>ConfirmJoinRoomDialog</name>
+    <name>CrossSigningSecrets</name>
     <message>
-        <location filename="../qml/dialogs/ConfirmJoinRoomDialog.qml" line="+21"/>
-        <source>Confirm community join</source>
-        <translation>确认加入社区</translation>
+        <location filename="../../src/ChatPage.cpp" line="+291"/>
+        <source>Decrypt secrets</source>
+        <translation>解密密钥</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Confirm room join</source>
-        <translation>确认加入聊天室</translation>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
+        <translation>输入你的恢复密钥或口令以解密你的密钥:</translation>
     </message>
-    <message numerus="yes">
-        <location line="+67"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n 名成员</numerusform>
-        </translation>
+    <message>
+        <location line="+2"/>
+        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
+        <translation>输入你的恢复密钥或名为 %1 的口令以解密你的密钥:</translation>
     </message>
     <message>
-        <location line="+25"/>
-        <source>Do you want to join this room? You can optionally add a reason below:</source>
-        <translation>你想加入此聊天室吗?你可以选择在下面添加理由:</translation>
+        <location line="+28"/>
+        <source>Decryption failed</source>
+        <translation>解密失败</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>This room can&apos;t be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:</source>
-        <translation>此聊天室无法直接加入。但是,你可以请求加入此聊天室,聊天室成员可以接受或拒绝此加入请求。另外你可以在下面提供一个理由,让他们允许你加入:</translation>
+        <location line="+1"/>
+        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
+        <translation>未能使用提供的恢复密钥或口令解密密钥</translation>
     </message>
+</context>
+<context>
+    <name>EventExpiry</name>
     <message>
-        <location line="+32"/>
-        <source>Knock</source>
-        <translation>请求加入</translation>
+        <location filename="../../src/ui/EventExpiry.cpp" line="+49"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation type="unfinished">未能设置隐藏事件:%1</translation>
     </message>
+</context>
+<context>
+    <name>GridImagePackModel</name>
     <message>
-        <location line="+0"/>
-        <source>Join</source>
-        <translation>加入</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="+311"/>
+        <source>Account Pack</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>CreateDirect</name>
+    <name>HiddenEvents</name>
     <message>
-        <location filename="../qml/dialogs/CreateDirect.qml" line="+17"/>
-        <source>Create Direct Chat</source>
-        <translation>创建直接聊天</translation>
+        <location filename="../../src/ui/HiddenEvents.cpp" line="+91"/>
+        <location line="+10"/>
+        <source>Failed to set hidden events: %1</source>
+        <translation>未能设置隐藏事件:%1</translation>
     </message>
+</context>
+<context>
+    <name>InputBar</name>
     <message>
-        <location line="+60"/>
-        <source>User to invite</source>
-        <translation>要邀请的用户</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+374"/>
+        <source>All Files (*)</source>
+        <translation>所有文件 (*)</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>@user:server.tld</source>
-        <translation>@user:server.tld</translation>
+        <location line="+901"/>
+        <source>Upload of &apos;%1&apos; failed</source>
+        <translation>上传 “%1” 失败</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>加密</translation>
+        <location line="-901"/>
+        <source>Select file(s)</source>
+        <translation>选择文件</translation>
     </message>
 </context>
 <context>
-    <name>CreateRoom</name>
+    <name>LoginPage</name>
     <message>
-        <location filename="../qml/dialogs/CreateRoom.qml" line="+148"/>
-        <source>Create Room</source>
-        <translation>创建聊天室</translation>
+        <location filename="../../src/LoginPage.cpp" line="+79"/>
+        <location line="+6"/>
+        <location line="+64"/>
+        <location line="+127"/>
+        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
+        <translation>你输入了无效的Matrix ID 例如 @joe:matrix.org</translation>
     </message>
     <message>
-        <location line="-102"/>
-        <source>Name</source>
-        <translation>名称</translation>
+        <location line="-157"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>自动发现失败。收到格式错误的回复。</translation>
     </message>
     <message>
-        <location line="-27"/>
-        <source>New community</source>
-        <translation>新社区</translation>
+        <location line="+6"/>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>自动发现失败。请求 .well-known 时出现未知错误。</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>New Room</source>
-        <translation>新聊天室</translation>
+        <location line="+33"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>所需的端点未找到。可能不是 Matrix 服务器。</translation>
     </message>
     <message>
-        <location line="+28"/>
-        <source>No name</source>
-        <translation>没有名称</translation>
+        <location line="+6"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>收到形式错误的响应。请确认服务器域名合法。</translation>
     </message>
     <message>
         <location line="+8"/>
-        <source>Topic</source>
-        <translation>主题</translation>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>发生了未知错误。请确保主服务器域名有效。</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>No topic</source>
-        <translation>无主题</translation>
+        <location line="+16"/>
+        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
+        <translation>所选服务器不支持此客户端兼容的 Matrix 协议版本(v1.1 到 v1.5)。你无法登录。</translation>
     </message>
     <message>
-        <location line="+18"/>
-        <source>Alias</source>
-        <translation>别名</translation>
+        <location line="+20"/>
+        <source>Sign in with Apple</source>
+        <translation>使用 Apple 登录</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Public</source>
-        <translation>公开</translation>
+        <location line="+2"/>
+        <source>Continue with Facebook</source>
+        <translation>使用 Facebook 登录</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Public rooms can be joined by anyone; private rooms need explicit invites.</source>
-        <translation>任何人都可以加入公共聊天室;私人聊天室需要明确的邀请。</translation>
+        <location line="+2"/>
+        <source>Sign in with Google</source>
+        <translation>使用 Google 登录</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Trusted</source>
-        <translation>可信</translation>
+        <location line="+2"/>
+        <source>Sign in with Twitter</source>
+        <translation>使用 Twitter 登录</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>All invitees are given the same power level as the creator</source>
-        <translation>所有被邀请者都被赋予与创建者相同的权限等级</translation>
+        <location line="+2"/>
+        <source>Login using %1</source>
+        <translation>使用 %1 登录</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Encryption</source>
-        <translation>加密</translation>
+        <location line="+9"/>
+        <source>SSO LOGIN</source>
+        <translation>SSO 登录</translation>
     </message>
     <message>
-        <location line="+6"/>
-        <source>Caution: Encryption cannot be disabled</source>
-        <translation>注意:加密无法被禁用</translation>
+        <location line="+58"/>
+        <source>Empty password</source>
+        <translation>空密码</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>SSO login failed</source>
+        <translation>SSO 登录失败</translation>
     </message>
 </context>
 <context>
-    <name>CrossSigningSecrets</name>
+    <name>MediaUpload</name>
     <message>
-        <location filename="../../src/ChatPage.cpp" line="+285"/>
-        <source>Decrypt secrets</source>
-        <translation>解密密钥</translation>
+        <location filename="../../src/timeline/InputBar.cpp" line="+747"/>
+        <location line="+35"/>
+        <source>Failed to upload media. Please try again.</source>
+        <translation>未能上传媒体。请再试一次。</translation>
     </message>
+</context>
+<context>
+    <name>NotificationsManager</name>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase to decrypt your secrets:</source>
-        <translation>输入你的恢复密钥或口令以解密你的密钥:</translation>
+        <location filename="../../src/notifications/Manager.cpp" line="+23"/>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="+83"/>
+        <source>%1 sent an encrypted message</source>
+        <translation>%1 发送了一条加密消息</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
-        <translation>输入你的恢复密钥或名为 %1 的口令以解密你的密钥:</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Decryption failed</source>
-        <translation>解密失败</translation>
+        <location line="+6"/>
+        <source>%1 replied: %2</source>
+        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
+        <translation>%1 回复:%2</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Failed to decrypt secrets with the provided recovery key or passphrase</source>
-        <translation>未能使用提供的恢复密钥或口令解密密钥</translation>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
+        <source>%1 replied with an encrypted message</source>
+        <translation>%1 回复了一条加密消息</translation>
     </message>
-</context>
-<context>
-    <name>DigitVerification</name>
     <message>
-        <location filename="../qml/device-verification/DigitVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>验证码</translation>
+        <location line="+6"/>
+        <source>%1 replied to a message</source>
+        <translation>%1 回复了一条消息</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>请验证一下数字。你应该会在另一边看到相同的数字。如果它们不同,请按“它们不一致”来终止验证!</translation>
+        <location line="+0"/>
+        <source>%1 sent a message</source>
+        <translation>%1 发送了一条消息</translation>
     </message>
+</context>
+<context>
+    <name>PowerLevels</name>
     <message>
-        <location line="+33"/>
-        <source>They do not match!</source>
-        <translation>它们不匹配!</translation>
+        <location filename="../../src/PowerlevelsEditModels.cpp" line="+741"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>未能更新权限等级:%1</translation>
     </message>
+</context>
+<context>
+    <name>PowerlevelEditingModels</name>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>匹配一致!</translation>
+        <location line="-119"/>
+        <source>Failed to update powerlevel: %1</source>
+        <translation>未能更新权限等级:%1</translation>
     </message>
 </context>
 <context>
-    <name>EmojiPicker</name>
+    <name>PowerlevelsTypeListModel</name>
     <message>
-        <location filename="../qml/emoji/EmojiPicker.qml" line="+70"/>
-        <source>Search</source>
-        <translation>搜索</translation>
+        <location line="-467"/>
+        <source>Other events</source>
+        <translation>其他事件</translation>
     </message>
     <message>
-        <location line="+181"/>
-        <source>People</source>
-        <translation>人物</translation>
+        <location line="+2"/>
+        <source>Other state events</source>
+        <translation>其他状态事件</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Nature</source>
-        <translation>自然</translation>
+        <source>Remove other users</source>
+        <translation>移除其他用户</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Food</source>
-        <translation>食物</translation>
+        <source>Ban other users</source>
+        <translation>封禁其他用户</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Activity</source>
-        <translation>活动</translation>
+        <source>Invite other users</source>
+        <translation>邀请其他用户</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Travel</source>
-        <translation>旅行</translation>
+        <source>Redact events sent by others</source>
+        <translation>删除其他人发送的事件</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Objects</source>
-        <translation>物体</translation>
+        <source>Reactions</source>
+        <translation>回应</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Symbols</source>
-        <translation>符号</translation>
+        <source>Deprecated aliases events</source>
+        <translation>已废弃的别名事件</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Flags</source>
-        <translation>旗帜</translation>
+        <source>Change the room avatar</source>
+        <translation>更改聊天室头像</translation>
     </message>
-</context>
-<context>
-    <name>EmojiVerification</name>
     <message>
-        <location filename="../qml/device-verification/EmojiVerification.qml" line="+13"/>
-        <source>Verification Code</source>
-        <translation>验证码</translation>
+        <location line="+2"/>
+        <source>Change the room addresses</source>
+        <translation>更改聊天室地址</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press &apos;They do not match!&apos; to abort verification!</source>
-        <translation>请验证以下表情符号。你应该会在两边看到相同的表情符号,如果它们不一致,请按“它们不一致”来终止验证!</translation>
+        <location line="+2"/>
+        <source>Send encrypted messages</source>
+        <translation>发送加密消息</translation>
     </message>
     <message>
-        <location line="+379"/>
-        <source>The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.</source>
-        <translation>如果使用不同的字体,显示的表情符号在不同的客户中可能看起来不同。同样,它们也可能被翻译成不同的语言。尽管如此,它们应该描述 64 种不同的物体或动物中的一种。例如,狮子和猫是不同的,但猫是一样的,即使一个客户端只显示猫脸,而另一个客户端显示整个猫身。</translation>
+        <location line="+2"/>
+        <source>Enable encryption</source>
+        <translation>启用加密</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>They do not match!</source>
-        <translation>它们不一致!</translation>
+        <location line="+2"/>
+        <source>Change guest access</source>
+        <translation>更改访客访问权限</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>They match!</source>
-        <translation>匹配一致!</translation>
+        <location line="+2"/>
+        <source>Change history visibility</source>
+        <translation>更改历史可见性</translation>
     </message>
-</context>
-<context>
-    <name>Encrypted</name>
     <message>
-        <location filename="../qml/delegates/Encrypted.qml" line="+48"/>
-        <source>There is no key to unlock this message. We requested the key automatically, but you can try requesting it again if you are impatient.</source>
-        <translation>没有找到解锁这条消息的密钥。我们尝试过自动获取密钥,如果你着急你可以持续尝试获取密钥。</translation>
+        <location line="+2"/>
+        <source>Change who can join</source>
+        <translation>更改谁可以加入</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>This message couldn&apos;t be decrypted, because we only have a key for newer messages. You can try requesting access to this message.</source>
-        <translation>这条消息无法被解密,因为我们只持有较之更新的消息的密钥。你可以继续尝试请求访问这条消息。</translation>
+        <source>Send messages</source>
+        <translation>发送消息</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an internal error reading the decryption key from the database.</source>
-        <translation>从数据库读取解密密钥时发生内部错误。</translation>
+        <source>Change the room name</source>
+        <translation>更改聊天室名称</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>There was an error decrypting this message.</source>
-        <translation>解密本消息时发生错误。</translation>
+        <source>Change the room permissions</source>
+        <translation>更改聊天室权限</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The message couldn&apos;t be parsed.</source>
-        <translation>无法解析这条消息。</translation>
+        <source>Change the rooms topic</source>
+        <translation>更改聊天室主题</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>The encryption key was reused! Someone is possibly trying to insert false messages into this chat!</source>
-        <translation>该加密密钥被重复使用!有人可能试图在此聊天中插入虚假消息!</translation>
+        <source>Change the widgets</source>
+        <translation>更改挂件</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown decryption error</source>
-        <translation>未知的解密错误</translation>
+        <source>Change the widgets (experimental)</source>
+        <translation>更改挂件(实验性)</translation>
     </message>
     <message>
-        <location line="+10"/>
-        <source>Request key</source>
-        <translation>请求密钥</translation>
+        <location line="+2"/>
+        <source>Redact own events</source>
+        <translation>删除自己的事件</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionEnabled</name>
     <message>
-        <location filename="../qml/delegates/EncryptionEnabled.qml" line="+43"/>
-        <source>%1 enabled end-to-end encryption</source>
-        <translation>%1 启用了端对端加密</translation>
+        <location line="+2"/>
+        <source>Change the pinned events</source>
+        <translation>更改置顶事件</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.</source>
-        <translation>加密使得消息仅能被你所发送的人阅读,保障了你的信息安全。为了额外安全性,如果你想确保你是在与正确的人交谈,你可以在现实生活中验证他们。</translation>
+        <location line="+2"/>
+        <source>Upgrade the room</source>
+        <translation>升级聊天室</translation>
     </message>
-</context>
-<context>
-    <name>EncryptionIndicator</name>
     <message>
-        <location filename="../qml/EncryptionIndicator.qml" line="+57"/>
-        <source>This message is not encrypted!</source>
-        <translation>此消息未经加密!</translation>
+        <location line="+2"/>
+        <source>Send stickers</source>
+        <translation>发送贴纸</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Encrypted by a verified device</source>
-        <translation>已被受认证的设备加密</translation>
+        <location line="+3"/>
+        <source>Ban users using policy rules</source>
+        <translation>使用策略规则封禁用户</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
-        <translation>使用未受认证的设备加密,但你已信任该用户。</translation>
+        <source>Ban rooms using policy rules</source>
+        <translation>使用策略规则封禁聊天室</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Encrypted by an unverified device or the key is from an untrusted source like the key backup.</source>
-        <translation>由一台不受信任的设备或从备份等不可靠的来源导入的密钥加密。</translation>
+        <source>Ban servers using policy rules</source>
+        <translation>使用策略规则封禁服务器</translation>
     </message>
-</context>
-<context>
-    <name>Failed</name>
     <message>
-        <location filename="../qml/device-verification/Failed.qml" line="+13"/>
-        <source>Verification failed</source>
-        <translation>未通过认证</translation>
+        <location line="+3"/>
+        <source>Edit child communities and rooms</source>
+        <translation>编辑子社区和聊天室</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Other client does not support our verification protocol.</source>
-        <translation>其他客户端不支持我们的认证协议。</translation>
+        <location line="+2"/>
+        <source>Change parent communities</source>
+        <translation>更改父社区</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>Key mismatch detected!</source>
-        <translation>检测到密钥不匹配!</translation>
+        <location line="+3"/>
+        <source>Start a call</source>
+        <translation>开始通话</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Device verification timed out.</source>
-        <translation>设备验证已超时。</translation>
+        <source>Negotiate a call</source>
+        <translation>协商通话</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Other party canceled the verification.</source>
-        <translation>对方取消了认证。</translation>
+        <source>Answer a call</source>
+        <translation>应答通话</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Verification messages received out of order!</source>
-        <translation>收到的验证消息不符合顺序!</translation>
+        <source>Hang up a call</source>
+        <translation>挂断通话</translation>
     </message>
     <message>
         <location line="+2"/>
-        <source>Unknown verification error.</source>
-        <translation>未知的认证错误。</translation>
+        <source>Reject a call</source>
+        <translation>拒绝通话</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Close</source>
-        <translation>关闭</translation>
+        <location line="+2"/>
+        <source>Change the room emotes</source>
+        <translation>更改聊天室表情</translation>
     </message>
 </context>
 <context>
-    <name>ForwardCompleter</name>
+    <name>PowerlevelsUserListModel</name>
     <message>
-        <location filename="../qml/ForwardCompleter.qml" line="+41"/>
-        <source>Forward Message</source>
-        <translation>转发</translation>
+        <location line="+217"/>
+        <source>Other users</source>
+        <translation>其他用户</translation>
     </message>
 </context>
 <context>
-    <name>HiddenEvents</name>
+    <name>QCoreApplication</name>
     <message>
-        <location filename="../../src/ui/HiddenEvents.cpp" line="+92"/>
-        <location line="+10"/>
-        <source>Failed to set hidden events: %1</source>
-        <translation>未能设置隐藏事件:%1</translation>
+        <location filename="../../src/main.cpp" line="+235"/>
+        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+        <translation>创建一个独特的配置文件,允许你同时登录多个帐户并启动多个 Nheko 实例。</translation>
     </message>
-</context>
-<context>
-    <name>HiddenEventsDialog</name>
     <message>
-        <location filename="../qml/dialogs/HiddenEventsDialog.qml" line="+34"/>
-        <source>Hidden events for %1</source>
-        <translation>隐藏 %1 事件</translation>
+        <location line="+2"/>
+        <source>profile</source>
+        <translation>个人资料</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>Hidden events</source>
-        <translation>隐藏</translation>
+        <location line="+1"/>
+        <source>profile name</source>
+        <translation>个人资料名称</translation>
     </message>
+</context>
+<context>
+    <name>QObject</name>
     <message>
-        <location line="+18"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in %1:</source>
-        <translation>以下事件将被在 %1 中 &lt;b&gt;展示&lt;/b&gt; :</translation>
+        <location line="-26"/>
+        <source>Alias for &apos;--log-level trace&apos;.</source>
+        <translation>&apos;--log-level trace&apos; 的别名。</translation>
     </message>
     <message>
-        <location line="+3"/>
-        <source>These events will be &lt;b&gt;shown&lt;/b&gt; in all rooms:</source>
-        <translation>以下事件将在所有聊天室中 &lt;b&gt;展示&lt;/b&gt; :</translation>
+        <location line="+4"/>
+        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
+        <translation>设置全局日志级别,或以逗号分隔的 &lt;component&gt;=&lt;level&gt; 列表,或两者。例如,要将默认日志级别设置为 “warn” 但禁用 “ui” 组件的日志记录,请传递 “warn,ui=off” 。级别:{trace,debug,info,warning,error,critical,off} 组件:{crypto,db,mtx,net,qml,ui}</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>User events</source>
-        <translation>用户事件</translation>
+        <location line="+5"/>
+        <source>level</source>
+        <translation>级别</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Joins, leaves, avatar and name changes, bans, …</source>
-        <translation>用户加入、离开、名称或头像变更、封禁等</translation>
+        <location line="+4"/>
+        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
+        <translation>设置日志输出类型。允许使用逗号分隔的列表。默认值为 “file,stderr” 。类型:{file,stderr,none}</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Power level changes</source>
-        <translation>权限等级变化</translation>
+        <location line="+2"/>
+        <source>type</source>
+        <translation>类型</translation>
+    </message>
+    <message>
+        <location filename="../../src/notifications/ManagerMac.cpp" line="-58"/>
+        <source>Respond</source>
+        <translation>响应</translation>
     </message>
     <message>
         <location line="+1"/>
-        <source>Sent when a moderator is added/removed or the permissions of a room are changed.</source>
-        <translation>在添加/移除协管员或更改聊天室权限时发送。</translation>
+        <source>Send</source>
+        <translation>发送</translation>
     </message>
     <message>
-        <location line="+16"/>
-        <source>Stickers</source>
-        <translation>贴纸</translation>
+        <location line="+1"/>
+        <source>Write a message...</source>
+        <translation>写一条消息…</translation>
     </message>
 </context>
 <context>
-    <name>ImagePackEditorDialog</name>
+    <name>ReadReceiptsModel</name>
     <message>
-        <location filename="../qml/dialogs/ImagePackEditorDialog.qml" line="+24"/>
-        <source>Editing image pack</source>
-        <translation>编辑表情包</translation>
+        <location filename="../../src/ReadReceiptsModel.cpp" line="+111"/>
+        <source>Yesterday, %1</source>
+        <translation>昨天,%1</translation>
     </message>
+</context>
+<context>
+    <name>RegisterPage</name>
     <message>
-        <location line="+63"/>
-        <source>Add images</source>
-        <translation>添加图片</translation>
+        <location filename="../../src/RegisterPage.cpp" line="+82"/>
+        <source>Autodiscovery failed. Received malformed response.</source>
+        <translation>自动发现失败。收到格式错误的回复。</translation>
     </message>
     <message>
         <location line="+7"/>
-        <source>Images (*.png *.webp *.gif *.jpg *.jpeg)</source>
-        <translation>图片 (*.png *.webp *.gif *.jpg *.jpeg)</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Select images for pack</source>
-        <translation>从表情包中选取图像</translation>
+        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
+        <translation>自动发现失败。请求 .well-known 时出现未知错误。</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Add to pack</source>
-        <translation>添加到表情包</translation>
+        <location line="+25"/>
+        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
+        <translation>所需的端点未找到。可能不是 Matrix 服务器。</translation>
     </message>
     <message>
-        <location line="+61"/>
-        <source>Change the overview image for this pack</source>
-        <translation>变更表情包的缩略图</translation>
+        <location line="+7"/>
+        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
+        <translation>收到形式错误的响应。请确保主服务器域有效。</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <source>Overview Image (*.png *.webp *.jpg *.jpeg)</source>
-        <translation>缩略图 (*.png *.webp *.jpg *.jpeg)</translation>
+        <location line="+5"/>
+        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
+        <translation>收到形式错误的响应。请确保主服务器域有效。</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Select overview image for pack</source>
-        <translation>选择表情包的缩略图</translation>
+        <location line="+17"/>
+        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
+        <translation>所选服务器不支持此客户端理解的 Matrix 协议版本(v1.1 到 v1.5)。你不能注册。</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>State key</source>
-        <translation>状态键</translation>
+        <location line="+11"/>
+        <source>Server does not support querying registration flows!</source>
+        <translation>服务器不支持查询注册流程!</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Packname</source>
-        <translation>包名</translation>
+        <location line="+5"/>
+        <source>Server does not support registration.</source>
+        <translation>此服务器不支持注册。</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Attribution</source>
-        <translation>出处</translation>
+        <location line="+28"/>
+        <source>Invalid username.</source>
+        <translation>无效的用户名。</translation>
     </message>
     <message>
-        <location line="+9"/>
-        <location line="+70"/>
-        <source>Use as Emoji</source>
-        <translation>作为表情符号使用</translation>
+        <location line="+2"/>
+        <source>Name already in use.</source>
+        <translation>此名称已被使用。</translation>
     </message>
     <message>
-        <location line="-57"/>
-        <location line="+70"/>
-        <source>Use as Sticker</source>
-        <translation>作为贴纸使用</translation>
+        <location line="+2"/>
+        <source>Part of the reserved namespace.</source>
+        <translation>保留命名空间的一部分。</translation>
     </message>
+</context>
+<context>
+    <name>RoomInfo</name>
     <message>
-        <location line="-32"/>
-        <source>Shortcode</source>
-        <translation>短代码</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Body</source>
-        <translation>内容</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>Remove from pack</source>
-        <translation>从表情包中移除</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Remove</source>
-        <translation>移除</translation>
-    </message>
-</context>
-<context>
-    <name>ImagePackSettingsDialog</name>
-    <message>
-        <location filename="../qml/dialogs/ImagePackSettingsDialog.qml" line="+25"/>
-        <source>Image pack settings</source>
-        <translation>表情包设置</translation>
-    </message>
-    <message>
-        <location line="+54"/>
-        <source>Create account pack</source>
-        <translation>创建和账户关联的表情包</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>New room pack</source>
-        <translation>创建和聊天室关联的表情包</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Private pack</source>
-        <translation>私有表情包</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from this room</source>
-        <translation>来自此聊天室的表情包</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Pack from parent community</source>
-        <translation>父社区的表情包</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Globally enabled pack</source>
-        <translation>全局启用的表情包</translation>
-    </message>
-    <message>
-        <location line="+66"/>
-        <source>Enable globally</source>
-        <translation>全局启用</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Enables this pack to be used in all rooms</source>
-        <translation>允许在所有聊天室中使用该表情包</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Edit</source>
-        <translation>编辑</translation>
-    </message>
-    <message>
-        <location line="+65"/>
-        <source>Close</source>
-        <translation>关闭</translation>
-    </message>
-</context>
-<context>
-    <name>InputBar</name>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>所有文件 (*)</translation>
-    </message>
-    <message>
-        <location line="+810"/>
-        <source>Upload of &apos;%1&apos; failed</source>
-        <translation>上传 “%1” 失败</translation>
-    </message>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="+372"/>
-        <source>Select file(s)</source>
-        <translation>选择文件</translation>
-    </message>
-</context>
-<context>
-    <name>InviteDialog</name>
-    <message>
-        <location filename="../qml/dialogs/InviteDialog.qml" line="+44"/>
-        <source>Invite users to %1</source>
-        <translation>邀请用户加入 %1</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>@joe:matrix.org</source>
-        <comment>Example user id. The name &apos;joe&apos; can be localized however you want.</comment>
-        <translation>@joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-13"/>
-        <source>Search user</source>
-        <translation>搜索用户</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>Search on Server</source>
-        <translation>在服务器上搜索</translation>
-    </message>
-    <message>
-        <location line="+86"/>
-        <source>Invite</source>
-        <translation>邀请</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
-    </message>
-</context>
-<context>
-    <name>JoinRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/JoinRoomDialog.qml" line="+16"/>
-        <source>Join room</source>
-        <translation>加入聊天室</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room ID or alias</source>
-        <translation>聊天室 ID 或别名</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Join</source>
-        <translation>加入</translation>
-    </message>
-</context>
-<context>
-    <name>LeaveRoomDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LeaveRoomDialog.qml" line="+19"/>
-        <source>Leave room</source>
-        <translation>离开聊天室</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Are you sure you want to leave?</source>
-        <translation>你确定要离开吗?</translation>
-    </message>
-</context>
-<context>
-    <name>LoginPage</name>
-    <message>
-        <location filename="../qml/pages/LoginPage.qml" line="+60"/>
-        <source>Matrix ID</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>e.g @joe:matrix.org</source>
-        <translation>例如 @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Your login name. A mxid should start with @ followed by the user ID. After the user ID you need to include your server name after a :.
-You can also put your homeserver address there if your server doesn&apos;t support .well-known lookup.
-Example: @user:server.my
-If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
-        <translation>你的登录名。一个 mxid 应以 @ 开头,后跟用户 ID。在用户 ID 之后,你需要在一个 : 之后包含你的服务器名称。
-如果你的服务器不支持 .well-known 查询,你也可以输入你的主服务器地址。
-例如:@user:server.my
-如果 Nheko 未能发现你的主服务器,它将显示一个字段,让你手动输入服务器。</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Password</source>
-        <translation>密码</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your password.</source>
-        <translation>你的密码。</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>设备名</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided, a default is used.</source>
-        <translation>此设备的名称,将在验证你的设备时向其他人显示。如果未提供任何内容,则使用默认值。</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>The address that can be used to contact you homeserver&apos;s client API.
-Example: https://server.my:8787</source>
-        <translation>可用于联系你的主服务器客户端 API 的地址。
-示例:https://server.my:8787</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>Homeserver address</source>
-        <translation>主服务器地址</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>server.my:8787</source>
-        <translation>server.my:8787</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>LOGIN</source>
-        <translation>登录</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Back</source>
-        <translation>返回</translation>
-    </message>
-    <message>
-        <location filename="../../src/LoginPage.cpp" line="+87"/>
-        <location line="+6"/>
-        <location line="+64"/>
-        <location line="+127"/>
-        <source>You have entered an invalid Matrix ID  e.g @joe:matrix.org</source>
-        <translation>你输入了无效的Matrix ID 例如 @joe:matrix.org</translation>
-    </message>
-    <message>
-        <location line="-157"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>自动发现失败。收到格式错误的回复。</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>自动发现失败。请求 .well-known 时出现未知错误。</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>所需的端点未找到。可能不是 Matrix 服务器。</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>收到形式错误的响应。请确认服务器域名合法。</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>发生了未知错误。请确保主服务器域名有效。</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>The selected server does not support a version of the Matrix protocol, that this client understands (v1.1 to v1.5). You can&apos;t sign in.</source>
-        <translation>所选服务器不支持此客户端兼容的 Matrix 协议版本(v1.1 到 v1.5)。你无法登录。</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Sign in with Apple</source>
-        <translation>使用 Apple 登录</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Continue with Facebook</source>
-        <translation>使用 Facebook 登录</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Google</source>
-        <translation>使用 Google 登录</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sign in with Twitter</source>
-        <translation>使用 Twitter 登录</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Login using %1</source>
-        <translation>使用 %1 登录</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>SSO LOGIN</source>
-        <translation>SSO 登录</translation>
-    </message>
-    <message>
-        <location line="+58"/>
-        <source>Empty password</source>
-        <translation>空密码</translation>
-    </message>
-    <message>
-        <location line="+55"/>
-        <source>SSO login failed</source>
-        <translation>SSO 登录失败</translation>
-    </message>
-</context>
-<context>
-    <name>LogoutDialog</name>
-    <message>
-        <location filename="../qml/dialogs/LogoutDialog.qml" line="+15"/>
-        <source>Log out</source>
-        <translation>登出</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>A call is in progress. Log out?</source>
-        <translation>正在进行通话中。是否登出?</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Are you sure you want to log out?</source>
-        <translation>你确定要登出吗?</translation>
-    </message>
-</context>
-<context>
-    <name>MediaUpload</name>
-    <message>
-        <location filename="../../src/timeline/InputBar.cpp" line="-154"/>
-        <location line="+35"/>
-        <source>Failed to upload media. Please try again.</source>
-        <translation>未能上传媒体。请再试一次。</translation>
-    </message>
-</context>
-<context>
-    <name>MessageDelegate</name>
-    <message>
-        <location filename="../qml/delegates/MessageDelegate.qml" line="+79"/>
-        <source>This room was replaced for the following reason: %1</source>
-        <translation>此聊天室由于以下原因被替换:%1</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Go to replacement room</source>
-        <translation>转到更换后的聊天室</translation>
-    </message>
-    <message>
-        <location line="+162"/>
-        <source>%1 removed a message</source>
-        <translation>%1 移除了一条消息</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>%2 changed the room name to: %1</source>
-        <translation>%2 将聊天室名称更改为:%1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the room name</source>
-        <translation>%1 移除了聊天室名称</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%2 changed the topic to: %1</source>
-        <translation>%2 将主题更改为:%1</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 removed the topic</source>
-        <translation>%1 移除了主题</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the room avatar</source>
-        <translation>%1 更改了聊天室头像</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the pinned messages.</source>
-        <translation>%1 更改了置顶消息。</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>%1 changed the addresses for this room.</source>
-        <translation>%1 更改了此聊天室的地址。</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 changed the parent communities for this room.</source>
-        <translation>%1 更改了此聊天室的父社区。</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 created and configured room: %2</source>
-        <translation>%1 创建并配置了聊天室:%2</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>%1 placed a voice call.</source>
-        <translation>%1 发起了语音通话。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a video call.</source>
-        <translation>%1 发起了视频通话。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 placed a call.</source>
-        <translation>%1 发起了通话。</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>%1 answered the call.</source>
-        <translation>%1 接听了通话。</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 rejected the call.</source>
-        <translation>%1 拒绝了通话。</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 select answer</source>
-        <translation>%1 选择答案</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>%1 ended the call.</source>
-        <translation>%1 已结束通话。</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <location line="+14"/>
-        <source>%1 is negotiating the call...</source>
-        <translation>%1 正在接通中...</translation>
-    </message>
-    <message>
-        <location line="+123"/>
-        <source>Allow them in</source>
-        <translation>允许加入</translation>
-    </message>
-</context>
-<context>
-    <name>MessageInput</name>
-    <message>
-        <location filename="../qml/MessageInput.qml" line="+57"/>
-        <source>Hang up</source>
-        <translation>挂断</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Place a call</source>
-        <translation>开始通话</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Already on a call</source>
-        <translation>已在通话中</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Send a file</source>
-        <translation>发送文件</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Write a message...</source>
-        <translation>写一条消息…</translation>
-    </message>
-    <message>
-        <location line="+288"/>
-        <source>Stickers</source>
-        <translation>贴纸</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Emoji</source>
-        <translation>表情符号</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Send</source>
-        <translation>发送</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>You don&apos;t have permission to send messages in this room</source>
-        <translation>你没有在此聊天室发送消息的权限</translation>
-    </message>
-</context>
-<context>
-    <name>MessageView</name>
-    <message>
-        <location filename="../qml/MessageView.qml" line="+138"/>
-        <source>Edit</source>
-        <translation>编辑</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>React</source>
-        <translation>回应</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Reply in thread</source>
-        <translation>在消息列中回复</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>New thread</source>
-        <translation>新消息列</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Reply</source>
-        <translation>回复</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Options</source>
-        <translation>选项</translation>
-    </message>
-    <message>
-        <location line="+438"/>
-        <source>Reason for removal</source>
-        <translation>移除理由</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter reason for removal or hit enter for no reason:</source>
-        <translation>输入移除理由或按回车键不输入理由:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <location line="+141"/>
-        <source>&amp;Copy</source>
-        <translation>复制(&amp;C)</translation>
-    </message>
-    <message>
-        <location line="-134"/>
-        <location line="+141"/>
-        <source>Copy &amp;link location</source>
-        <translation>复制链接位置(&amp;l)</translation>
-    </message>
-    <message>
-        <location line="-133"/>
-        <source>Re&amp;act</source>
-        <translation>回应(&amp;a)</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Repl&amp;y</source>
-        <translation>回复(&amp;y)</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Edit</source>
-        <translation>编辑(&amp;E)</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Thread</source>
-        <translation>&amp;消息列</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Un&amp;pin</source>
-        <translation>取消置顶(&amp;p)</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>&amp;Pin</source>
-        <translation>置顶(&amp;P)</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>&amp;Read receipts</source>
-        <translation>&amp;已读回执</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>&amp;Forward</source>
-        <translation>转发(&amp;F)</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>&amp;Mark as read</source>
-        <translation>标为已读(&amp;M)</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>View raw message</source>
-        <translation>查看源代码</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View decrypted raw message</source>
-        <translation>查看解密后的源代码</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Remo&amp;ve message</source>
-        <translation>移除消息(&amp;v)</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>&amp;Save as</source>
-        <translation>另存为(&amp;S)</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>&amp;Open in external program</source>
-        <translation>在外部程序中打开(&amp;O)</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Copy link to eve&amp;nt</source>
-        <translation>复制到事件的链接(&amp;n)</translation>
-    </message>
-    <message>
-        <location line="+45"/>
-        <source>&amp;Go to quoted message</source>
-        <translation>转到引用的消息(&amp;G)</translation>
-    </message>
-</context>
-<context>
-    <name>NewVerificationRequest</name>
-    <message>
-        <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+13"/>
-        <source>Send Verification Request</source>
-        <translation>发送验证请求</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Received Verification Request</source>
-        <translation>收到验证请求</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)</source>
-        <translation>为了允许其他用户查看你的哪些设备实际上属于你,你可以对其进行验证。这也允许密钥备份自动工作。立即验证未验证的设备?(请确保你有其中一个可用的设备。)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To allow other users to see which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
-        <translation>为了允许其他用户查看你的哪些设备实际上属于你,你可以对其进行验证。这也允许密钥备份自动工作。现在验证 %1 ?</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party.</source>
-        <translation>为确保没有恶意用户可以窃听你的加密通信,你可以验证对方。</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 has requested to verify their device %2.</source>
-        <translation>%1 已请求验证其设备 %2。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 using the device %2 has requested to be verified.</source>
-        <translation>%1 使用设备 %2 已要求被验证。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Your device (%1) has requested to be verified.</source>
-        <translation>你的设备 (%1) 已请求验证。</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Deny</source>
-        <translation>拒绝</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Start verification</source>
-        <translation>开始验证</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Accept</source>
-        <translation>接受</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationWarning</name>
-    <message>
-        <location filename="../qml/NotificationWarning.qml" line="+34"/>
-        <source>You are about to notify the whole room</source>
-        <translation>你即将通知整个聊天室</translation>
-    </message>
-</context>
-<context>
-    <name>NotificationsManager</name>
-    <message>
-        <location filename="../../src/notifications/Manager.cpp" line="+25"/>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="+62"/>
-        <source>%1 sent an encrypted message</source>
-        <translation>%1 发送了一条加密消息</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>%1 replied: %2</source>
-        <comment>Format a reply in a notification. %1 is the sender, %2 the message</comment>
-        <translation>%1 回复:%2</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
-        <source>%1 replied with an encrypted message</source>
-        <translation>%1 回复了一条加密消息</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>%1 replied to a message</source>
-        <translation>%1 回复了一条消息</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>%1 sent a message</source>
-        <translation>%1 发送了一条消息</translation>
-    </message>
-</context>
-<context>
-    <name>PlaceCall</name>
-    <message>
-        <location filename="../qml/voip/PlaceCall.qml" line="+42"/>
-        <source>Place a call to %1?</source>
-        <translation>向 %1 发起通话?</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>No microphone found.</source>
-        <translation>未检测到麦克风。</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>Voice</source>
-        <translation>语音</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Video</source>
-        <translation>视频</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Screen</source>
-        <translation>屏幕</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
-    </message>
-</context>
-<context>
-    <name>Placeholder</name>
-    <message>
-        <location filename="../qml/delegates/Placeholder.qml" line="+13"/>
-        <source>unimplemented event: </source>
-        <translation>未执行的事件: </translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelEditor</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelEditor.qml" line="+26"/>
-        <source>Permissions in %1</source>
-        <translation>%1 中的权限</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Be careful when editing permissions. You can&apos;t lower the permissions of people with a same or higher level than you. Be careful when promoting others.</source>
-        <translation>编辑权限时要小心。你不能降低与你有相同或更高等级的人的权限。提升他人权限时也要小心。</translation>
-    </message>
-    <message>
-        <location line="+34"/>
-        <source>Roles</source>
-        <translation>角色</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Users</source>
-        <translation>用户</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Move permissions between roles to change them</source>
-        <translation>在角色之间移动权限以更改它们</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <location line="+240"/>
-        <source>Administrator (%1)</source>
-        <translation>管理员 (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <location line="+240"/>
-        <source>Moderator (%1)</source>
-        <translation>协管员 (%1)</translation>
-    </message>
-    <message>
-        <location line="-238"/>
-        <source>User (%1)</source>
-        <translation>用户 (%1)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <location line="+238"/>
-        <source>Custom (%1)</source>
-        <translation>自定义 (%1)</translation>
-    </message>
-    <message>
-        <location line="-225"/>
-        <source>Remove event type</source>
-        <translation>移除事件类型</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add event type</source>
-        <translation>添加事件类型</translation>
-    </message>
-    <message>
-        <location line="+42"/>
-        <source>Add new role</source>
-        <translation>添加新角色</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Add</source>
-        <translation>添加</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Move users up or down to change their permissions</source>
-        <translation>上下移动用户以更改其权限</translation>
-    </message>
-    <message>
-        <location line="+142"/>
-        <source>Remove user</source>
-        <translation>移除用户</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Add user</source>
-        <translation>添加用户</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevelSpacesApplyDialog</name>
-    <message>
-        <location filename="../qml/dialogs/PowerLevelSpacesApplyDialog.qml" line="+29"/>
-        <source>Apply permission changes</source>
-        <translation>应用权限更改</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Which of the subcommunities and rooms should these permissions be applied to?</source>
-        <translation>这些权限应该应用于哪些子社区和聊天室?</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Apply permissions recursively</source>
-        <translation>递归应用权限</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Overwrite exisiting modifications in rooms</source>
-        <translation>覆盖聊天室中的现有修改</translation>
-    </message>
-    <message>
-        <location line="+46"/>
-        <source>No permissions to apply the new permissions here</source>
-        <translation>没有在此处应用新权限的权限</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>No changes needed</source>
-        <translation>无需更改</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Existing modifications to the permissions in this room will be overwritten</source>
-        <translation>对此聊天室现有权限的修改将被覆盖</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Permissions synchronized with community</source>
-        <translation>权限已与社区同步</translation>
-    </message>
-</context>
-<context>
-    <name>PowerLevels</name>
-    <message>
-        <location filename="../../src/PowerlevelsEditModels.cpp" line="+739"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>未能更新权限等级:%1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelEditingModels</name>
-    <message>
-        <location line="-116"/>
-        <source>Failed to update powerlevel: %1</source>
-        <translation>未能更新权限等级:%1</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsTypeListModel</name>
-    <message>
-        <location line="-467"/>
-        <source>Other events</source>
-        <translation>其他事件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Other state events</source>
-        <translation>其他状态事件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Remove other users</source>
-        <translation>移除其他用户</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban other users</source>
-        <translation>封禁其他用户</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Invite other users</source>
-        <translation>邀请其他用户</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact events sent by others</source>
-        <translation>删除其他人发送的事件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reactions</source>
-        <translation>回应</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Deprecated aliases events</source>
-        <translation>已废弃的别名事件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room avatar</source>
-        <translation>更改聊天室头像</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room addresses</source>
-        <translation>更改聊天室地址</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send encrypted messages</source>
-        <translation>发送加密消息</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Enable encryption</source>
-        <translation>启用加密</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change guest access</source>
-        <translation>更改访客访问权限</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change history visibility</source>
-        <translation>更改历史可见性</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change who can join</source>
-        <translation>更改谁可以加入</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send messages</source>
-        <translation>发送消息</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room name</source>
-        <translation>更改聊天室名称</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room permissions</source>
-        <translation>更改聊天室权限</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the rooms topic</source>
-        <translation>更改聊天室主题</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets</source>
-        <translation>更改挂件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the widgets (experimental)</source>
-        <translation>更改挂件(实验性)</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Redact own events</source>
-        <translation>删除自己的事件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the pinned events</source>
-        <translation>更改置顶事件</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Upgrade the room</source>
-        <translation>升级聊天室</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Send stickers</source>
-        <translation>发送贴纸</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Ban users using policy rules</source>
-        <translation>使用策略规则封禁用户</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban rooms using policy rules</source>
-        <translation>使用策略规则封禁聊天室</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Ban servers using policy rules</source>
-        <translation>使用策略规则封禁服务器</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Edit child communities and rooms</source>
-        <translation>编辑子社区和聊天室</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change parent communities</source>
-        <translation>更改父社区</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Start a call</source>
-        <translation>开始通话</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Negotiate a call</source>
-        <translation>协商通话</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Answer a call</source>
-        <translation>应答通话</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Hang up a call</source>
-        <translation>挂断通话</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Reject a call</source>
-        <translation>拒绝通话</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Change the room emotes</source>
-        <translation>更改聊天室表情</translation>
-    </message>
-</context>
-<context>
-    <name>PowerlevelsUserListModel</name>
-    <message>
-        <location line="+217"/>
-        <source>Other users</source>
-        <translation>其他用户</translation>
-    </message>
-</context>
-<context>
-    <name>QCoreApplication</name>
-    <message>
-        <location filename="../../src/main.cpp" line="+234"/>
-        <source>Create a unique profile which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
-        <translation>创建一个独特的配置文件,允许你同时登录多个帐户并启动多个 Nheko 实例。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>profile</source>
-        <translation>个人资料</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>profile name</source>
-        <translation>个人资料名称</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location line="-26"/>
-        <source>Alias for &apos;--log-level trace&apos;.</source>
-        <translation>&apos;--log-level trace&apos; 的别名。</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the global log level, or a comma-separated list of &lt;component&gt;=&lt;level&gt; pairs, or both. For example, to set the default log level to &apos;warn&apos; but disable logging for the &apos;ui&apos; component, pass &apos;warn,ui=off&apos;. levels:{trace,debug,info,warning,error,critical,off} components:{crypto,db,mtx,net,qml,ui}</source>
-        <translation>设置全局日志级别,或以逗号分隔的 &lt;component&gt;=&lt;level&gt; 列表,或两者。例如,要将默认日志级别设置为 “warn” 但禁用 “ui” 组件的日志记录,请传递 “warn,ui=off” 。级别:{trace,debug,info,warning,error,critical,off} 组件:{crypto,db,mtx,net,qml,ui}</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>level</source>
-        <translation>级别</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Set the log output type. A comma-separated list is allowed. The default is &apos;file,stderr&apos;. types:{file,stderr,none}</source>
-        <translation>设置日志输出类型。允许使用逗号分隔的列表。默认值为 “file,stderr” 。类型:{file,stderr,none}</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>type</source>
-        <translation>类型</translation>
-    </message>
-    <message>
-        <location filename="../../src/notifications/ManagerMac.cpp" line="-29"/>
-        <source>Respond</source>
-        <translation>响应</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Send</source>
-        <translation>发送</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Write a message...</source>
-        <translation>写一条消息…</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceipts</name>
-    <message>
-        <location filename="../qml/dialogs/ReadReceipts.qml" line="+42"/>
-        <source>Read receipts</source>
-        <translation>已读回执</translation>
-    </message>
-</context>
-<context>
-    <name>ReadReceiptsModel</name>
-    <message>
-        <location filename="../../src/ReadReceiptsModel.cpp" line="+113"/>
-        <source>Yesterday, %1</source>
-        <translation>昨天,%1</translation>
-    </message>
-</context>
-<context>
-    <name>RegisterPage</name>
-    <message>
-        <location filename="../qml/pages/RegisterPage.qml" line="+96"/>
-        <source>Username</source>
-        <translation>用户名</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
-        <translation>用户名不能为空,并且只能包含字符 a-z、0-9、.、_、=、- 和 /。</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <location line="+102"/>
-        <source>Back</source>
-        <translation>返回</translation>
-    </message>
-    <message>
-        <location line="-79"/>
-        <source>Password</source>
-        <translation>密码</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Please choose a secure password. The exact requirements for password strength may depend on your server.</source>
-        <translation>请选择一个安全的密码。对密码强度的确切要求可能取决于你的服务器。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Password confirmation</source>
-        <translation>密码确认</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>A name for this device which will be shown to others when verifying your devices. If nothing is provided a default is used.</source>
-        <translation>此设备的名称,在验证你的设备时将会显示给其他人。如果没有提供任何信息,则使用默认值。</translation>
-    </message>
-    <message>
-        <location line="-109"/>
-        <source>Homeserver</source>
-        <translation>主服务器</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>your.server</source>
-        <translation>your.server</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.</source>
-        <translation>一个允许注册的服务器。由于Matrix是去中心化的,你需要首先找到可以注册的服务器或托管自己的服务器。</translation>
-    </message>
-    <message>
-        <location line="+95"/>
-        <source>Your passwords do not match!</source>
-        <translation>你的密码不匹配!</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Device name</source>
-        <translation>设备名</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>REGISTER</source>
-        <translation>注册</translation>
-    </message>
-    <message>
-        <location filename="../../src/RegisterPage.cpp" line="+85"/>
-        <source>Autodiscovery failed. Received malformed response.</source>
-        <translation>自动发现失败。收到格式错误的回复。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Autodiscovery failed. Unknown error when requesting .well-known.</source>
-        <translation>自动发现失败。请求 .well-known 时出现未知错误。</translation>
-    </message>
-    <message>
-        <location line="+25"/>
-        <source>The required endpoints were not found. Possibly not a Matrix server.</source>
-        <translation>所需的端点未找到。可能不是 Matrix 服务器。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Received malformed response. Make sure the homeserver domain is valid.</source>
-        <translation>收到形式错误的响应。请确保主服务器域有效。</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>An unknown error occured. Make sure the homeserver domain is valid.</source>
-        <translation>收到形式错误的响应。请确保主服务器域有效。</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>The selected server does not support a version of the Matrix protocol that this client understands (v1.1 to v1.5). You can&apos;t register.</source>
-        <translation>所选服务器不支持此客户端理解的 Matrix 协议版本(v1.1 到 v1.5)。你不能注册。</translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Server does not support querying registration flows!</source>
-        <translation>服务器不支持查询注册流程!</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Server does not support registration.</source>
-        <translation>此服务器不支持注册。</translation>
-    </message>
-    <message>
-        <location line="+28"/>
-        <source>Invalid username.</source>
-        <translation>无效的用户名。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Name already in use.</source>
-        <translation>此名称已被使用。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Part of the reserved namespace.</source>
-        <translation>保留命名空间的一部分。</translation>
-    </message>
-</context>
-<context>
-    <name>ReplyPopup</name>
-    <message>
-        <location filename="../qml/ReplyPopup.qml" line="+67"/>
-        <source>Close</source>
-        <translation>关闭</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Cancel Edit</source>
-        <translation>取消编辑</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Cancel Thread</source>
-        <translation>取消消息列</translation>
-    </message>
-</context>
-<context>
-    <name>RoomDirectory</name>
-    <message>
-        <location filename="../qml/dialogs/RoomDirectory.qml" line="+27"/>
-        <source>Explore Public Rooms</source>
-        <translation>探索公共聊天室</translation>
-    </message>
-    <message>
-        <location line="+143"/>
-        <source>Search for public rooms</source>
-        <translation>搜索公共聊天室</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Choose custom homeserver</source>
-        <translation>选择自定义主服务器</translation>
-    </message>
-</context>
-<context>
-    <name>RoomInfo</name>
-    <message>
-        <location filename="../../src/Cache.cpp" line="+1974"/>
-        <source>no version stored</source>
-        <translation>没有存储版本</translation>
-    </message>
-</context>
-<context>
-    <name>RoomList</name>
-    <message>
-        <location filename="../qml/RoomList.qml" line="+158"/>
-        <source>New tag</source>
-        <translation>新标签</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter the tag you want to use:</source>
-        <translation>输入你想使用的标签:</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Open separately</source>
-        <translation>单独打开</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Room settings</source>
-        <translation>聊天室设置</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>离开聊天室</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Copy room link</source>
-        <translation>复制聊天室链接</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Tag room as:</source>
-        <translation>为聊天室添加标签:</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Favourite</source>
-        <translation>收藏</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Low priority</source>
-        <translation>低优先级</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Server notice</source>
-        <translation>服务器通知</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Create new tag...</source>
-        <translation>创建新标签…</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Add or remove from community...</source>
-        <translation>在社区中添加或删除...</translation>
-    </message>
-    <message>
-        <location line="+260"/>
-        <source>Status Message</source>
-        <translation>状态信息</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Enter your status message:</source>
-        <translation>输入你的状态信息:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Profile settings</source>
-        <translation>个人资料设置</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Set status message</source>
-        <translation>设置状态信息</translation>
-    </message>
-    <message>
-        <location line="+81"/>
-        <source>Logout</source>
-        <translation>登出</translation>
-    </message>
-    <message>
-        <location line="+40"/>
-        <source>Encryption not set up</source>
-        <extracomment>Cross-signing setup has not run yet.</extracomment>
-        <translation>加密功能未设置</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Unverified login</source>
-        <extracomment>The user just signed in with this device and hasn&apos;t verified their master key.</extracomment>
-        <translation>未经验证的登录</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>Please verify your other devices</source>
-        <extracomment>There are unverified devices signed in to this account.</extracomment>
-        <translation>请验证你的其他设备</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>Close</source>
-        <translation>关闭</translation>
-    </message>
-    <message>
-        <location line="+64"/>
-        <source>Start a new chat</source>
-        <translation>开始新的聊天</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Join a room</source>
-        <translation>加入聊天室</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Create a new room</source>
-        <translation>新建聊天室</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Start a direct chat</source>
-        <translation>开始直接聊天</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Create a new community</source>
-        <translation>创建新社区</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Room directory</source>
-        <translation>聊天室目录</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Search rooms (Ctrl+K)</source>
-        <translation>搜索聊天室 (Ctrl+K)</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>User settings</source>
-        <translation>用户设置</translation>
-    </message>
-</context>
-<context>
-    <name>RoomMembers</name>
-    <message>
-        <location filename="../qml/dialogs/RoomMembers.qml" line="+21"/>
-        <source>Members of %1</source>
-        <translation>%1 的成员</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+32"/>
-        <source>%n people in %1</source>
-        <comment>Summary above list of members</comment>
-        <translation>
-            <numerusform>%n 人在 %1 中</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Invite more people</source>
-        <translation>邀请更多人加入</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Search...</source>
-        <translation>搜索...</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Sort by: </source>
-        <translation>排序方式: </translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>User ID</source>
-        <translation>用户 ID</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Display name</source>
-        <translation>昵称</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Power level</source>
-        <translation>权限等级</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Administrator: %1</source>
-        <translation>管理员:%1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Moderator: %1</source>
-        <translation>协管员:%1</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>User: %1</source>
-        <translation>用户:%1</translation>
-    </message>
-    <message>
-        <location line="+20"/>
-        <source>This room is not encrypted!</source>
-        <translation>此聊天室未加密!</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>This user is verified.</source>
-        <translation>此用户已通过验证。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user isn&apos;t verified, but is still using the same master key from the first time you met.</source>
-        <translation>此用户未经验证,但仍在使用与你第一次见面时相同的主密钥。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>This user has unverified devices!</source>
-        <translation>该用户有未经验证的设备!</translation>
-    </message>
-</context>
-<context>
-    <name>RoomSettings</name>
-    <message>
-        <location filename="../qml/dialogs/RoomSettings.qml" line="+29"/>
-        <source>Room Settings</source>
-        <translation>聊天室设置</translation>
-    </message>
-    <message>
-        <location line="+38"/>
-        <source>Change room avatar.</source>
-        <translation>更改聊天室头像。</translation>
-    </message>
-    <message>
-        <location line="+93"/>
-        <source>Change name of this room</source>
-        <translation>更改此聊天室的名称</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+22"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n 个成员</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>View members of %1</source>
-        <translation>查看 %1 的成员</translation>
-    </message>
-    <message>
-        <location line="+24"/>
-        <source>No topic set</source>
-        <translation>未设置主题</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>Change topic of this room</source>
-        <translation>更改此聊天室的主题</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>SETTINGS</source>
-        <translation>设置</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Notifications</source>
-        <translation>通知</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Muted</source>
-        <translation>静音</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Mentions only</source>
-        <translation>仅提及时</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All messages</source>
-        <translation>所有消息</translation>
-    </message>
-    <message>
-        <location line="+105"/>
-        <source>Encryption</source>
-        <translation>加密</translation>
-    </message>
-    <message>
-        <location line="+21"/>
-        <source>End-to-End Encryption</source>
-        <translation>端到端加密</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;
-                                Please take note that it can&apos;t be disabled afterwards.</source>
-        <translation>加密目前是实验性的,可能会出现意外的崩坏。 &lt;br&gt;
-请注意,启用以后就不能禁用了。</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Permission</source>
-        <translation>权限</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>View and change the permissions in this room</source>
-        <translation>查看和更改此聊天室的权限</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>View and change the addresses/aliases of this room</source>
-        <translation>查看和更改此聊天室的地址/别名</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Sticker &amp; Emote Settings</source>
-        <translation>贴纸和表情设置</translation>
-    </message>
-    <message>
-        <location line="-93"/>
-        <location line="+98"/>
-        <source>Change</source>
-        <translation>更改</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Hidden events</source>
-        <translation>隐藏事件</translation>
-    </message>
-    <message>
-        <location line="-31"/>
-        <location line="+12"/>
-        <location line="+30"/>
-        <source>Configure</source>
-        <translation>配置</translation>
-    </message>
-    <message>
-        <location line="-180"/>
-        <source>Anyone can join</source>
-        <translation>任何人都可以加入</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Allow knocking</source>
-        <translation>允许请求加入</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Allow joining via other rooms</source>
-        <translation>允许通过其他聊天室加入</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Rooms to join via</source>
-        <translation>通过以下方式加入的聊天室</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>Change the list of rooms users can join this room via. Usually this is the official community of this room.</source>
-        <translation>更改用户可以加入此聊天室的聊天室列表。通常这是此聊天室的官方社区。</translation>
-    </message>
-    <message>
-        <location line="+6"/>
-        <source>Allow guests to join</source>
-        <translation>允许访客加入</translation>
-    </message>
-    <message>
-        <location line="+17"/>
-        <source>Apply access rules</source>
-        <translation>应用访问规则</translation>
-    </message>
-    <message>
-        <location line="+57"/>
-        <source>Aliases</source>
-        <translation>别名</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Change what packs are enabled, remove packs, or create new ones</source>
-        <translation>更改已启用的表情包,删除表情包或创建新表情包</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Select events to hide in this room</source>
-        <translation>选择在此聊天室中要隐藏的事件</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>INFO</source>
-        <translation>信息</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Internal ID</source>
-        <translation>内部 ID</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Copied to clipboard</source>
-        <translation>已复制到剪贴板</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Room Version</source>
-        <translation>聊天室版本</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>show less</source>
-        <translation>显示更少</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>show more</source>
-        <translation>显示更多</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/RoomSettings.cpp" line="+217"/>
-        <source>Failed to enable encryption: %1</source>
-        <translation>未能启用加密:%1</translation>
-    </message>
-    <message>
-        <location line="+344"/>
-        <source>Select an avatar</source>
-        <translation>选择一个头像</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>All Files (*)</source>
-        <translation>所有文件 (*)</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>The selected file is not an image</source>
-        <translation>所选文件不是图像</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>Error while reading file: %1</source>
-        <translation>读取文件时出错:%1</translation>
-    </message>
-    <message>
-        <location line="+32"/>
-        <location line="+19"/>
-        <source>Failed to upload image: %s</source>
-        <translation>未能上传图像:%s</translation>
-    </message>
-</context>
-<context>
-    <name>RoomlistModel</name>
-    <message>
-        <location filename="../../src/timeline/RoomlistModel.cpp" line="+163"/>
-        <source>Pending invite.</source>
-        <translation>等待邀请。</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Previewing this room</source>
-        <translation>预览此聊天室</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>No preview available</source>
-        <translation>预览不可用</translation>
-    </message>
-</context>
-<context>
-    <name>Root</name>
-    <message>
-        <location filename="../qml/Root.qml" line="+263"/>
-        <source>Please enter your login password to continue:</source>
-        <translation>请输入你的登录密码以继续:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid email address to continue:</source>
-        <translation>请输入有效的电子邮件地址以继续:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter a valid phone number to continue:</source>
-        <translation>请输入有效的电话号码以继续:</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Please enter the token which has been sent to you:</source>
-        <translation>请输入已发送给你的令牌:</translation>
-    </message>
-    <message>
-        <location line="+16"/>
-        <source>Wait for the confirmation link to arrive, then continue.</source>
-        <translation>请等待确认链接送达,然后再继续。</translation>
+        <location filename="../../src/Cache.cpp" line="+2064"/>
+        <source>no version stored</source>
+        <translation>没有存储版本</translation>
     </message>
 </context>
 <context>
-    <name>ScreenShare</name>
+    <name>RoomSettings</name>
     <message>
-        <location filename="../qml/voip/ScreenShare.qml" line="+30"/>
-        <source>Share desktop with %1?</source>
-        <translation>与 %1 共享桌面?</translation>
+        <location filename="../../src/ui/RoomSettings.cpp" line="+236"/>
+        <source>Failed to enable encryption: %1</source>
+        <translation>未能启用加密:%1</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Window:</source>
-        <translation>窗口:</translation>
+        <location line="+404"/>
+        <source>Select an avatar</source>
+        <translation>选择一个头像</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Frame rate:</source>
-        <translation>帧率:</translation>
+        <location line="+0"/>
+        <source>All Files (*)</source>
+        <translation>所有文件 (*)</translation>
     </message>
     <message>
-        <location line="+19"/>
-        <source>Include your camera picture-in-picture</source>
-        <translation>包括你的摄像头画中画</translation>
+        <location line="+12"/>
+        <source>The selected file is not an image</source>
+        <translation>所选文件不是图像</translation>
     </message>
     <message>
-        <location line="+12"/>
-        <source>Request remote camera</source>
-        <translation>请求远程摄像头</translation>
+        <location line="+5"/>
+        <source>Error while reading file: %1</source>
+        <translation>读取文件时出错:%1</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <location line="+9"/>
-        <source>View your callee&apos;s camera like a regular video call</source>
-        <translation>像普通视频通话一样查看对方的摄像头</translation>
+        <location line="+32"/>
+        <location line="+19"/>
+        <source>Failed to upload image: %s</source>
+        <translation>未能上传图像:%s</translation>
     </message>
+</context>
+<context>
+    <name>RoomlistModel</name>
     <message>
-        <location line="+5"/>
-        <source>Hide mouse cursor</source>
-        <translation>隐藏鼠标光标</translation>
+        <location filename="../../src/timeline/RoomlistModel.cpp" line="+159"/>
+        <source>Pending invite.</source>
+        <translation>等待邀请。</translation>
     </message>
     <message>
-        <location line="+20"/>
-        <source>Share</source>
-        <translation>共享</translation>
+        <location line="+29"/>
+        <source>Previewing this room</source>
+        <translation>预览此聊天室</translation>
     </message>
     <message>
-        <location line="+15"/>
-        <source>Preview</source>
-        <translation>预览</translation>
+        <location line="+33"/>
+        <source>No preview available</source>
+        <translation>预览不可用</translation>
     </message>
     <message>
-        <location line="+7"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
+        <location line="+2"/>
+        <source>This room is possibly inaccessible</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SecretStorage</name>
     <message>
-        <location filename="../../src/Cache.cpp" line="-4664"/>
+        <location filename="../../src/Cache.cpp" line="-4856"/>
         <source>Failed to connect to secret storage</source>
         <translation>未能连接秘密存储</translation>
     </message>
@@ -3239,62 +1234,10 @@ Example: https://server.my:8787</source>
         <translation>Nheko 无法连接到安全存储以保存加密机密。这可能有多种原因。检查你的 D-Bus 服务是否正在运行,是否为你的平台配置了 KWallet、Gnome Keyring、KeePassXC 或类似的服务。如果你遇到问题,请随时在此处提出问题:https://github.com/Nheko-Reborn/nheko/issues</translation>
     </message>
 </context>
-<context>
-    <name>SelfVerificationCheck</name>
-    <message>
-        <location filename="../qml/SelfVerificationCheck.qml" line="+41"/>
-        <source>This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don&apos;t share it with anyone and don&apos;t lose it! Do not pass go! Do not collect $200!</source>
-        <translation>这是你的恢复密钥。你将需要它来恢复对加密消息和验证密钥的访问。请保管好它。不要与任何人分享,也不要丢失!切记!</translation>
-    </message>
-    <message>
-        <location line="+33"/>
-        <source>Encryption setup successfully</source>
-        <translation>加密设置成功</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Failed to setup encryption: %1</source>
-        <translation>未能设置加密:%1</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Setup Encryption</source>
-        <translation>设置加密</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Hello and welcome to Matrix!
-It seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!</source>
-        <translation>你好,欢迎来到 Matrix!
-你似乎是新人。在你可以安全地加密你的消息之前,我们需要设置一些小东西。你可以立即按接受或调整一些基本选项。我们还尝试解释一些基础知识。你可以跳过这些部分,但它们可能会有所帮助!</translation>
-    </message>
-    <message>
-        <location line="+124"/>
-        <source>Activate Encryption</source>
-        <translation>激活加密</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.
-If you choose verify, you need to have the other device available. If you choose &quot;enter passphrase&quot;, you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.</source>
-        <translation>你似乎已为此帐户配置了加密。为了能够访问你的加密消息并使此设备显示为受信任,你可以验证现有设备或输入你的恢复口令(如果有的话)。请选择以下选项之一。
-如果选择验证,则需要另一台设备可用。如果你选择“输入密码”,你将需要你的恢复密钥或口令。如果点击取消,你可以选择稍后验证自己。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>verify</source>
-        <translation>验证</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>enter passphrase</source>
-        <translation>输入口令</translation>
-    </message>
-</context>
 <context>
     <name>SelfVerificationStatus</name>
     <message>
-        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+47"/>
+        <location filename="../../src/encryption/SelfVerificationStatus.cpp" line="+50"/>
         <source>Failed to create keys for cross-signing!</source>
         <translation>未能创建用于交叉签名的密钥!</translation>
     </message>
@@ -3327,19 +1270,19 @@ If you choose verify, you need to have the other device available. If you choose
 <context>
     <name>SingleImagePackModel</name>
     <message>
-        <location filename="../../src/SingleImagePackModel.cpp" line="+279"/>
-        <location line="+25"/>
+        <location filename="../../src/SingleImagePackModel.cpp" line="+281"/>
+        <location line="+26"/>
         <source>Failed to update image pack: %1</source>
         <translation>未能更新表情包:%1</translation>
     </message>
     <message>
-        <location line="-12"/>
+        <location line="-13"/>
         <source>Failed to delete old image pack: %1</source>
         <translation>未能删除旧表情包:%1</translation>
     </message>
     <message>
-        <location line="+27"/>
-        <location line="+44"/>
+        <location line="+28"/>
+        <location line="+45"/>
         <source>Failed to open image: %1</source>
         <translation>未能打开图像:%1</translation>
     </message>
@@ -3350,97 +1293,10 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>未能上传图片:%1</translation>
     </message>
 </context>
-<context>
-    <name>SpaceMenuLevel</name>
-    <message>
-        <location filename="../qml/components/SpaceMenuLevel.qml" line="+17"/>
-        <source>Add or remove from community</source>
-        <translation>从社区中添加或删除</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Official community for this room</source>
-        <translation>此聊天室的官方社区</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Affiliated community for this room</source>
-        <translation>此聊天室的附属社区</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for community members</source>
-        <translation>仅为社区成员列出</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Listed only for room members</source>
-        <translation>仅为聊天室成员列出</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Not related</source>
-        <translation>不相关的</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Subcommunities</source>
-        <translation>子社区</translation>
-    </message>
-</context>
-<context>
-    <name>StatusIndicator</name>
-    <message>
-        <location filename="../qml/StatusIndicator.qml" line="+26"/>
-        <source>Failed</source>
-        <translation>失败</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Sent</source>
-        <translation>已发送</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Received</source>
-        <translation>已接收</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Read</source>
-        <translation>已读</translation>
-    </message>
-</context>
-<context>
-    <name>StickerPicker</name>
-    <message>
-        <location filename="../qml/emoji/StickerPicker.qml" line="+71"/>
-        <source>Search</source>
-        <translation>搜索</translation>
-    </message>
-</context>
-<context>
-    <name>Success</name>
-    <message>
-        <location filename="../qml/device-verification/Success.qml" line="+13"/>
-        <source>Successful Verification</source>
-        <translation>验证成功</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Verification successful! Both sides verified their devices!</source>
-        <translation>验证成功!双方都验证了他们的设备!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>Close</source>
-        <translation>关闭</translation>
-    </message>
-</context>
 <context>
     <name>TimelineModel</name>
     <message>
-        <location filename="../../src/timeline/TimelineModel.cpp" line="+1394"/>
+        <location filename="../../src/timeline/TimelineModel.cpp" line="+1501"/>
         <location line="+17"/>
         <source>Message redaction failed: %1</source>
         <translation>删除消息失败:%1</translation>
@@ -3472,7 +1328,7 @@ If you choose verify, you need to have the other device available. If you choose
         <translation>保存文件</translation>
     </message>
     <message numerus="yes">
-        <location line="+275"/>
+        <location line="+340"/>
         <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>
@@ -3738,265 +1594,109 @@ Reason: %4</source>
     <message>
         <location line="+152"/>
         <source>%2 revoked the invite to %1.</source>
-        <translation>%2 撤销了对 %1 的邀请。</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%2 kicked %1.</source>
-        <translation>%2 踢出了 %1。</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%2 unbanned %1.</source>
-        <translation>%2 解封了 %1。</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%2 rejected the knock from %1.</source>
-        <translation>%2 拒绝了来自 %1 的加入请求。</translation>
-    </message>
-    <message>
-        <location line="-32"/>
-        <source>%1 changed their avatar.</source>
-        <translation>%1 更改了其头像。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>%1 changed some profile info.</source>
-        <translation>%1 更改了一些个人资料信息。</translation>
-    </message>
-    <message>
-        <location line="+5"/>
-        <source>%1 joined.</source>
-        <translation>%1 已加入。</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 joined via authorisation from %2&apos;s server.</source>
-        <translation>%1 已通过来自 %2 的服务器的授权加入。</translation>
-    </message>
-    <message>
-        <location line="+13"/>
-        <source>%1 rejected their invite.</source>
-        <translation>%1 拒绝了其邀请。</translation>
-    </message>
-    <message>
-        <location line="-5"/>
-        <source>%1 left the room.</source>
-        <translation>%1 离开了聊天室。</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Reason: %1</source>
-        <translation>理由:%1</translation>
-    </message>
-    <message>
-        <location line="-19"/>
-        <source>%1 redacted their knock.</source>
-        <translation>%1 删除了其加入请求。</translation>
-    </message>
-    <message>
-        <location line="-1628"/>
-        <source>You joined this room.</source>
-        <translation>你已加入此聊天室。</translation>
-    </message>
-    <message>
-        <location line="+926"/>
-        <source>%1 made this room require an invitation to join.</source>
-        <translation>%1 使此聊天室需要邀请才能加入。</translation>
-    </message>
-    <message>
-        <location line="+654"/>
-        <source>%1 invited %2.</source>
-        <translation>%1 邀请了 %2。</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>%1 has changed their avatar and changed their display name to %2.</source>
-        <translation>%1 已更改其头像并将其昵称更改为 %2。</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>%1 has changed their display name to %2.</source>
-        <translation>%1 已将其昵称更改为 %2。</translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>%1 left after having already left!</source>
-        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
-        <translation>%1 在已经离开后又离开了!</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>%1 banned %2</source>
-        <translation>%1 封禁了 %2</translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 knocked.</source>
-        <translation>%1 已请求加入。</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineRow</name>
-    <message>
-        <location filename="../qml/TimelineRow.qml" line="+248"/>
-        <source>Edited</source>
-        <translation>已编辑</translation>
-    </message>
-    <message>
-        <location line="+18"/>
-        <source>Part of a thread</source>
-        <translation>消息列的一部分</translation>
-    </message>
-</context>
-<context>
-    <name>TimelineView</name>
-    <message>
-        <location filename="../qml/TimelineView.qml" line="+44"/>
-        <source>No room open</source>
-        <translation>未打开聊天室</translation>
-    </message>
-    <message>
-        <location line="+158"/>
-        <source>No preview available</source>
-        <translation>预览不可用</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Settings</source>
-        <translation>设置</translation>
-    </message>
-    <message numerus="yes">
-        <location line="+12"/>
-        <source>%n member(s)</source>
-        <translation>
-            <numerusform>%n 个成员</numerusform>
-        </translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>View members of %1</source>
-        <translation>查看 %1 的成员</translation>
-    </message>
-    <message>
-        <location line="+35"/>
-        <source>join the conversation</source>
-        <translation>加入对话</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>accept invite</source>
-        <translation>接受邀请</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>decline invite</source>
-        <translation>拒绝邀请</translation>
+        <translation>%2 撤销了对 %1 的邀请。</translation>
     </message>
     <message>
-        <location line="+36"/>
-        <source>Hide invite reason</source>
-        <translation>隐藏邀请理由</translation>
+        <location line="-5"/>
+        <source>%2 kicked %1.</source>
+        <translation>%2 踢出了 %1。</translation>
     </message>
     <message>
-        <location line="+0"/>
-        <source>Show invite reason</source>
-        <translation>显示邀请理由</translation>
+        <location line="+7"/>
+        <source>%2 unbanned %1.</source>
+        <translation>%2 解封了 %1。</translation>
     </message>
     <message>
-        <location line="+29"/>
-        <source>Back to room list</source>
-        <translation>返回聊天室列表</translation>
+        <location line="+5"/>
+        <source>%2 rejected the knock from %1.</source>
+        <translation>%2 拒绝了来自 %1 的加入请求。</translation>
     </message>
-</context>
-<context>
-    <name>TopBar</name>
     <message>
-        <location filename="../qml/TopBar.qml" line="+161"/>
-        <source>Back to room list</source>
-        <translation>返回聊天室列表</translation>
+        <location line="-32"/>
+        <source>%1 changed their avatar.</source>
+        <translation>%1 更改了其头像。</translation>
     </message>
     <message>
-        <location line="-141"/>
-        <source>No room selected</source>
-        <translation>未选择聊天室</translation>
+        <location line="+2"/>
+        <source>%1 changed some profile info.</source>
+        <translation>%1 更改了一些个人资料信息。</translation>
     </message>
     <message>
-        <location line="+123"/>
-        <source>In %1</source>
-        <translation>在 %1</translation>
+        <location line="+5"/>
+        <source>%1 joined.</source>
+        <translation>%1 已加入。</translation>
     </message>
     <message>
-        <location line="+111"/>
-        <source>Show room members.</source>
-        <translation>显示聊天室成员。</translation>
+        <location line="+3"/>
+        <source>%1 joined via authorisation from %2&apos;s server.</source>
+        <translation>%1 已通过来自 %2 的服务器的授权加入。</translation>
     </message>
     <message>
-        <location line="+4"/>
-        <source>This room contains only verified devices.</source>
-        <translation>此聊天室仅包含经过验证的设备。</translation>
+        <location line="+13"/>
+        <source>%1 rejected their invite.</source>
+        <translation>%1 拒绝了其邀请。</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains verified devices and devices which have never changed their master key.</source>
-        <translation>该聊天室包含经过验证的设备和从未更改其主密钥的设备。</translation>
+        <location line="-5"/>
+        <source>%1 left the room.</source>
+        <translation>%1 离开了聊天室。</translation>
     </message>
     <message>
-        <location line="+2"/>
-        <source>This room contains unverified devices!</source>
-        <translation>此聊天室包含未经验证的设备!</translation>
+        <location line="+31"/>
+        <source>Reason: %1</source>
+        <translation>理由:%1</translation>
     </message>
     <message>
-        <location line="-44"/>
-        <source>Show or hide pinned messages</source>
-        <translation>显示或隐藏置顶消息</translation>
+        <location line="-19"/>
+        <source>%1 redacted their knock.</source>
+        <translation>%1 删除了其加入请求。</translation>
     </message>
     <message>
-        <location line="+66"/>
-        <source>Search this room</source>
-        <translation>搜索此聊天室</translation>
+        <location line="-1700"/>
+        <source>You joined this room.</source>
+        <translation>你已加入此聊天室。</translation>
     </message>
     <message>
-        <location line="+26"/>
-        <source>Room options</source>
-        <translation>聊天室选项</translation>
+        <location line="+998"/>
+        <source>%1 made this room require an invitation to join.</source>
+        <translation>%1 使此聊天室需要邀请才能加入。</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Invite users</source>
-        <translation>邀请用户</translation>
+        <location line="+654"/>
+        <source>%1 invited %2.</source>
+        <translation>%1 邀请了 %2。</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Members</source>
-        <translation>成员</translation>
+        <location line="+12"/>
+        <source>%1 has changed their avatar and changed their display name to %2.</source>
+        <translation>%1 已更改其头像并将其昵称更改为 %2。</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Leave room</source>
-        <translation>离开聊天室</translation>
+        <location line="+4"/>
+        <source>%1 has changed their display name to %2.</source>
+        <translation>%1 已将其昵称更改为 %2。</translation>
     </message>
     <message>
-        <location line="+5"/>
-        <source>Settings</source>
-        <translation>设置</translation>
+        <location line="+36"/>
+        <source>%1 left after having already left!</source>
+        <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment>
+        <translation>%1 在已经离开后又离开了!</translation>
     </message>
     <message>
-        <location line="+74"/>
-        <source>Unpin</source>
-        <translation>取消置顶</translation>
+        <location line="+7"/>
+        <source>%1 banned %2</source>
+        <translation>%1 封禁了 %2</translation>
     </message>
     <message>
-        <location line="+63"/>
-        <source>Enter search query</source>
-        <translation>输入搜索查询</translation>
+        <location line="+3"/>
+        <source>%1 knocked.</source>
+        <translation>%1 已请求加入。</translation>
     </message>
 </context>
 <context>
     <name>TrayIcon</name>
     <message>
-        <location filename="../../src/TrayIcon.cpp" line="+118"/>
+        <location filename="../../src/TrayIcon.cpp" line="+111"/>
         <source>Show</source>
         <translation>显示</translation>
     </message>
@@ -4009,13 +1709,13 @@ Reason: %4</source>
 <context>
     <name>UIA</name>
     <message>
-        <location filename="../../src/ui/UIA.cpp" line="+61"/>
+        <location filename="../../src/ui/UIA.cpp" line="+59"/>
         <source>No available registration flows!</source>
         <translation>没有可用的注册流程!</translation>
     </message>
     <message>
-        <location line="+56"/>
-        <location line="+24"/>
+        <location line="+50"/>
+        <location line="+22"/>
         <location line="+17"/>
         <source>Registration aborted</source>
         <translation>注册已终止</translation>
@@ -4031,111 +1731,10 @@ Reason: %4</source>
         <translation>无效令牌</translation>
     </message>
 </context>
-<context>
-    <name>UploadBox</name>
-    <message numerus="yes">
-        <location filename="../qml/UploadBox.qml" line="+81"/>
-        <source>Upload %n file(s)</source>
-        <translation>
-            <numerusform>上传文件</numerusform>
-        </translation>
-    </message>
-</context>
 <context>
     <name>UserProfile</name>
     <message>
-        <location filename="../qml/dialogs/UserProfile.qml" line="+27"/>
-        <source>Global User Profile</source>
-        <translation>全局用户资料</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Room User Profile</source>
-        <translation>聊天室用户资料</translation>
-    </message>
-    <message>
-        <location line="+48"/>
-        <source>Change avatar globally.</source>
-        <translation>全局更改头像。</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change avatar. Will only apply to this room.</source>
-        <translation>更换头像。仅适用于此聊天室。</translation>
-    </message>
-    <message>
-        <location line="+84"/>
-        <source>Change display name globally.</source>
-        <translation>全局更改昵称。</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>Change display name. Will only apply to this room.</source>
-        <translation>更改昵称。将只适用于此聊天室。</translation>
-    </message>
-    <message>
-        <location line="+29"/>
-        <source>Room: %1</source>
-        <translation>聊天室:%1</translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>This is a room-specific profile. The user&apos;s name and avatar may be different from their global versions.</source>
-        <translation>这是特定于聊天室的个人资料。用户的姓名和头像可能与其全局版本不同。</translation>
-    </message>
-    <message>
-        <location line="+15"/>
-        <source>Open the global profile for this user.</source>
-        <translation>打开此用户的全局个人资料。</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <location line="+200"/>
-        <source>Verify</source>
-        <translation>验证</translation>
-    </message>
-    <message>
-        <location line="-162"/>
-        <source>Start a private chat.</source>
-        <translation>开始私聊。</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Kick the user.</source>
-        <translation>踢出用户。</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Ban the user.</source>
-        <translation>封禁用户。</translation>
-    </message>
-    <message>
-        <location line="+9"/>
-        <source>Refresh device list.</source>
-        <translation>刷新设备列表。</translation>
-    </message>
-    <message>
-        <location line="+56"/>
-        <source>Sign out this device.</source>
-        <translation>登出此设备。</translation>
-    </message>
-    <message>
-        <location line="+31"/>
-        <source>Change device name.</source>
-        <translation>更改设备名称。</translation>
-    </message>
-    <message>
-        <location line="+22"/>
-        <source>Last seen %1 from %2</source>
-        <translation>上次看到 %1 是在 %2</translation>
-    </message>
-    <message>
-        <location line="+27"/>
-        <source>Unverify</source>
-        <translation>取消验证</translation>
-    </message>
-    <message>
-        <location filename="../../src/ui/UserProfile.cpp" line="+159"/>
+        <location filename="../../src/ui/UserProfile.cpp" line="+204"/>
         <source>Sign out device %1</source>
         <translation>登出设备 %1</translation>
     </message>
@@ -4168,8 +1767,8 @@ Reason: %4</source>
 <context>
     <name>UserSettings</name>
     <message>
-        <location filename="../../src/UserSettingsPage.cpp" line="+564"/>
-        <location filename="../../src/UserSettingsPage.h" line="+252"/>
+        <location filename="../../src/UserSettingsPage.cpp" line="+599"/>
+        <location filename="../../src/UserSettingsPage.h" line="+276"/>
         <source>Default</source>
         <translation>默认</translation>
     </message>
@@ -4177,7 +1776,7 @@ Reason: %4</source>
 <context>
     <name>UserSettingsModel</name>
     <message>
-        <location line="+409"/>
+        <location line="+408"/>
         <source>Theme</source>
         <translation>主题</translation>
     </message>
@@ -4246,6 +1845,11 @@ Reason: %4</source>
         <source>Sort rooms by unreads</source>
         <translation>按未读消息数对聊天室进行排序</translation>
     </message>
+    <message>
+        <location line="+2"/>
+        <source>Sort rooms alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+2"/>
         <source>Show buttons in timeline</source>
@@ -4507,12 +2111,22 @@ Reason: %4</source>
         <translation>通过 D-Bus 公开聊天室信息</translation>
     </message>
     <message>
-        <location line="+107"/>
+        <location line="+2"/>
+        <source>Periodically update community routing information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Periodically delete expired events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+109"/>
         <source>Default</source>
         <translation>默认</translation>
     </message>
     <message>
-        <location line="+35"/>
+        <location line="+39"/>
         <source>Set the notification sound to play when a call invite arrives</source>
         <translation>设置当受到通话邀请时发出的通知音</translation>
     </message>
@@ -4585,7 +2199,21 @@ This will also enable or disable sending typing notifications to others.</source
 这也将启用或禁用向其他人发送正在输入通知。</translation>
     </message>
     <message>
-        <location line="+12"/>
+        <location line="+4"/>
+        <source>Display rooms with new messages first.
+If this is off, the list of rooms will only be sorted by the preferred sorting order.
+If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by the preferred sorting order, since you don&apos;t seem to consider them as important as the other rooms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Sort rooms alphabetically.
+If this is off, the list of rooms will be sorted by the timestamp of the last message in a room.
+If this is on, rooms that come first alphabetically will be sorted earlier than ones that come later.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Show buttons to quickly reply, react or access additional options next to each message.</source>
         <translation>在每条消息旁边显示快速回复、回应或访问其他选项的按钮。</translation>
     </message>
@@ -4639,17 +2267,17 @@ This usually causes the application icon in the task bar to animate in some fash
 这通常会导致任务栏中的应用程序图标以某种方式呈现动画效果。</translation>
     </message>
     <message>
-        <location line="-331"/>
+        <location line="-350"/>
         <source>Communities sidebar</source>
         <translation>社区侧边栏</translation>
     </message>
     <message>
-        <location line="+40"/>
+        <location line="+42"/>
         <source>Show message counts for communities and tags</source>
         <translation>显示社区和标签的消息计数</translation>
     </message>
     <message>
-        <location line="+231"/>
+        <location line="+241"/>
         <source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen when Nheko is maximized</source>
         <translation>设置时间线中消息的最大宽度(以像素为单位)。 当 Nheko 最大化时,这有助于提高宽屏上的可读性</translation>
     </message>
@@ -4659,16 +2287,7 @@ This usually causes the application icon in the task bar to animate in some fash
         <translation>在聊天室列表旁边显示包含社区和标签的列。</translation>
     </message>
     <message>
-        <location line="+23"/>
-        <source>Display rooms with new messages first.
-If this is off, the list of rooms will only be sorted by the timestamp of the last message in a room.
-If this is on, rooms which have active notifications (the small circle with a number in it) will be sorted on top. Rooms that you have muted will still be sorted by timestamp, since you don&apos;t seem to consider them as important as the other rooms.</source>
-        <translation>首先显示有新消息的聊天室。
-如果关闭,聊天室列表将只按聊天室中最后一条消息的时间戳排序。
-如果打开,有活动通知的聊天室(带数字的小圆圈)将排在最前面。你静音的聊天室仍将按时间戳排序,因为你似乎认为它们不如其他聊天室重要。</translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+42"/>
         <source>Show if your message was read.
 Status is displayed next to timestamps.
 Warning: If your homeserver does not support this, your rooms will never be marked as read!</source>
@@ -4759,7 +2378,17 @@ This setting will take effect upon restart.</source>
 这个设置将在重新启动时生效。</translation>
     </message>
     <message>
-        <location line="+459"/>
+        <location line="+6"/>
+        <source>To allow new users to join a community, the community needs to expose some information about what servers participate in a room to community members. Since the room participants can change over time, this needs to be updated from time to time. This setting enables a background job to do that automatically.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Regularly redact expired events as specified in the event expiration configuration. Since this is currently not executed server side, you need to have one client running this regularly.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+463"/>
         <source>Select a file</source>
         <translation>选择一个文件</translation>
     </message>
@@ -4769,7 +2398,7 @@ This setting will take effect upon restart.</source>
         <translation>所有文件 (*)</translation>
     </message>
     <message>
-        <location line="+89"/>
+        <location line="+103"/>
         <source>Open Sessions File</source>
         <translation>打开会话文件</translation>
     </message>
@@ -4811,117 +2440,18 @@ This setting will take effect upon restart.</source>
         <translation>保存导出的会话密钥的文件</translation>
     </message>
 </context>
-<context>
-    <name>UserSettingsPage</name>
-    <message>
-        <location filename="../qml/pages/UserSettingsPage.qml" line="+214"/>
-        <source>REQUEST</source>
-        <translation>请求</translation>
-    </message>
-    <message>
-        <location line="-4"/>
-        <source>DOWNLOAD</source>
-        <translation>下载</translation>
-    </message>
-    <message>
-        <location line="-20"/>
-        <source>CACHED</source>
-        <translation>已缓存</translation>
-    </message>
-    <message>
-        <location line="+0"/>
-        <source>NOT CACHED</source>
-        <translation>未缓存</translation>
-    </message>
-    <message>
-        <location line="+49"/>
-        <source>Back</source>
-        <translation>返回</translation>
-    </message>
-    <message>
-        <location line="-42"/>
-        <source>IMPORT</source>
-        <translation>导入</translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>EXPORT</source>
-        <translation>导出</translation>
-    </message>
-</context>
 <context>
     <name>VerificationManager</name>
     <message>
-        <location filename="../../src/encryption/VerificationManager.cpp" line="+141"/>
+        <location filename="../../src/encryption/VerificationManager.cpp" line="+140"/>
         <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
         <translation>未找到与该用户的加密私人聊天。创建与该用户的加密私人聊天,然后重试。</translation>
     </message>
 </context>
-<context>
-    <name>Waiting</name>
-    <message>
-        <location filename="../qml/device-verification/Waiting.qml" line="+14"/>
-        <source>Waiting for other party…</source>
-        <translation>等待对方…</translation>
-    </message>
-    <message>
-        <location line="+12"/>
-        <source>Waiting for other side to accept the verification request.</source>
-        <translation>等待对方接受验证请求。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to continue the verification process.</source>
-        <translation>等待对方继续验证过程。</translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Waiting for other side to complete the verification process.</source>
-        <translation>等待对方完成验证过程。</translation>
-    </message>
-    <message>
-        <location line="+19"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
-    </message>
-</context>
-<context>
-    <name>WelcomePage</name>
-    <message>
-        <location filename="../qml/pages/WelcomePage.qml" line="+31"/>
-        <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
-        <translation>欢迎使用 Nheko!Matrix 协议的桌面客户端。</translation>
-    </message>
-    <message>
-        <location line="+10"/>
-        <source>Enjoy your stay!</source>
-        <translation>祝你使用愉快!</translation>
-    </message>
-    <message>
-        <location line="+14"/>
-        <source>REGISTER</source>
-        <translation>注册</translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>LOGIN</source>
-        <translation>登录</translation>
-    </message>
-    <message>
-        <location line="+26"/>
-        <source>Reduce animations</source>
-        <translation>减少动画</translation>
-    </message>
-    <message>
-        <location line="+7"/>
-        <source>Nheko uses animations in several places to make stuff pretty. This allows you to turn those off if they make you feel unwell.</source>
-        <translation>Nheko 在多处使用动画以使页面过渡流畅。如果这些动画让你感觉不舒服,你可以把它们关掉。</translation>
-    </message>
-</context>
 <context>
     <name>descriptiveTime</name>
     <message>
-        <location filename="../../src/Utils.cpp" line="+202"/>
+        <location filename="../../src/Utils.cpp" line="+208"/>
         <source>Yesterday</source>
         <translation>昨天</translation>
     </message>
@@ -4929,7 +2459,7 @@ This setting will take effect upon restart.</source>
 <context>
     <name>dialogs::FallbackAuth</name>
     <message>
-        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+39"/>
+        <location filename="../../src/dialogs/FallbackAuth.cpp" line="+37"/>
         <source>Open Fallback in Browser</source>
         <translation>在浏览器中打开回溯程序</translation>
     </message>
@@ -4950,32 +2480,52 @@ This setting will take effect upon restart.</source>
     </message>
 </context>
 <context>
-    <name>dialogs::ReCaptcha</name>
+    <name>emoji-catagory</name>
     <message>
-        <location filename="../../src/dialogs/ReCaptcha.cpp" line="+39"/>
-        <source>Open reCAPTCHA</source>
-        <translation>打开 reCAPTCHA</translation>
+        <location filename="../../src/GridImagePackModel.cpp" line="-290"/>
+        <source>People</source>
+        <translation type="unfinished">人物</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
+        <location line="+2"/>
+        <source>Nature</source>
+        <translation type="unfinished">自然</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Confirm</source>
-        <translation>确认</translation>
+        <location line="+2"/>
+        <source>Food</source>
+        <translation type="unfinished">食物</translation>
     </message>
     <message>
-        <location line="+11"/>
-        <source>Solve the reCAPTCHA and press the confirm button</source>
-        <translation>解决 reCAPTCHA 并按确认按钮</translation>
+        <location line="+2"/>
+        <source>Activity</source>
+        <translation type="unfinished">活动</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Travel</source>
+        <translation type="unfinished">旅行</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Objects</source>
+        <translation type="unfinished">物体</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Symbols</source>
+        <translation type="unfinished">符号</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <translation type="unfinished">旗帜</translation>
     </message>
 </context>
 <context>
     <name>message-description sent:</name>
     <message>
-        <location filename="../../src/Utils.h" line="+117"/>
+        <location filename="../../src/Utils.h" line="+115"/>
         <source>You sent an audio clip</source>
         <translation>你发送了一个音频片段</translation>
     </message>
@@ -5036,25 +2586,25 @@ This setting will take effect upon restart.</source>
     </message>
     <message>
         <location line="+5"/>
-        <location line="+15"/>
+        <location line="+16"/>
         <source>You: %1</source>
         <translation>你:%1</translation>
     </message>
     <message>
-        <location line="-13"/>
-        <location line="+16"/>
+        <location line="-14"/>
+        <location line="+17"/>
         <source>%1: %2</source>
         <translation>%1:%2</translation>
     </message>
     <message>
         <location line="-11"/>
-        <source>You sent some confetti</source>
-        <translation>你发送了一些彩色纸屑</translation>
+        <source>You sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+3"/>
-        <source>%1 sent some confetti</source>
-        <translation>%1 发送了一些彩色纸屑</translation>
+        <source>%1 sent a chat effect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location line="+15"/>