mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Merge remote-tracking branch 'origin/master' into presence
This commit is contained in:
commit
7afb164244
40 changed files with 17378 additions and 3971 deletions
|
@ -243,10 +243,13 @@ set(SRC_FILES
|
|||
|
||||
# Emoji
|
||||
src/emoji/Category.cpp
|
||||
src/emoji/EmojiModel.cpp
|
||||
src/emoji/ItemDelegate.cpp
|
||||
src/emoji/Panel.cpp
|
||||
src/emoji/PickButton.cpp
|
||||
src/emoji/Provider.cpp
|
||||
src/emoji/Provider_new.cpp
|
||||
|
||||
|
||||
# Timeline
|
||||
src/timeline/ReactionsModel.cpp
|
||||
|
@ -445,9 +448,11 @@ qt5_wrap_cpp(MOC_HEADERS
|
|||
|
||||
# Emoji
|
||||
src/emoji/Category.h
|
||||
src/emoji/EmojiModel.h
|
||||
src/emoji/ItemDelegate.h
|
||||
src/emoji/Panel.h
|
||||
src/emoji/PickButton.h
|
||||
src/emoji/Provider.h
|
||||
|
||||
# Timeline
|
||||
src/timeline/ReactionsModel.h
|
||||
|
|
BIN
resources/icons/ui/search.png
Normal file
BIN
resources/icons/ui/search.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 573 B |
BIN
resources/icons/ui/search@2x.png
Normal file
BIN
resources/icons/ui/search@2x.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation>Du bist dem Raum beigetreten.</translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation>Nutzer konnte nicht eingeladen werden: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation>Eingeladener Benutzer: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation>Migrieren des Caches auf die aktuelle Version fehlgeschlagen. Das kann verschiedene Gründe als Ursache haben. Bitte lege einen Bugreport an und verwende in der Zwischenzeit eine ältere Version. Alternativ kannst du das Cache manuell entfernen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation>Raum %1 erzeugt.</translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation>Verbannung von %1 wurde aufgehoben.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation>Medienupload fehlgeschlagen. Bitte versuche es erneut.</translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>Gespeicherte Nachrichten konnten nicht wiederhergestellt werden. Bitte melde Dich erneut an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation>Fehler beim Setup der Verschlüsselungsschlüssel. Servermeldung: %1 %2. Bitte versuche es später erneut.</translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation>Räume niedriger Priorität</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation>Anwenden</translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Thema</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Aktivitäten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation>Löschen</translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Matrix-ID</translation>
|
||||
</message>
|
||||
|
@ -242,8 +297,8 @@ Wenn Nheko deinen Server nicht automatisch erkennen kann, wird es dich nach dem
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<translation>Ein Name für dieses Gerät. Dieser wird anderen angezeigt, wenn sie dieses Gerät verifizieren. Wenn kein Name angegeben wurde, wird automatisch ein zufälliger Name erzeugt, der keine Rückschlüsse auf deine Identität zulassen sollte.</translation>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+6"/>
|
||||
|
@ -254,7 +309,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>ANMELDEN</translation>
|
||||
</message>
|
||||
|
@ -369,7 +424,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Benutzername</translation>
|
||||
</message>
|
||||
|
@ -437,7 +492,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation>keine Version gespeichert</translation>
|
||||
</message>
|
||||
|
@ -455,7 +510,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -473,7 +528,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -485,14 +540,15 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -509,7 +565,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>Benutzereinstellungen</translation>
|
||||
</message>
|
||||
|
@ -560,7 +616,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>Versende Datei</translation>
|
||||
</message>
|
||||
|
@ -581,7 +637,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>Emoji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Datei auswählen</translation>
|
||||
</message>
|
||||
|
@ -599,7 +655,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation>-- Entschlüsselungsfehler (Fehler bei Kommunikation mit Datenbank) --</translation>
|
||||
|
@ -622,7 +678,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>Nachricht zurückziehen fehlgeschlagen: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation>Bild speichern</translation>
|
||||
</message>
|
||||
|
@ -642,7 +698,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>Datei speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation>-- Verschlüsseltes Event (keine Schlüssel zur Entschlüsselung gefunden) --</translation>
|
||||
|
@ -654,7 +710,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>-- Verschlüsseltes Event (Unbekannter Eventtyp) --</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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>
|
||||
|
@ -727,6 +783,11 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<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 type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -768,12 +829,12 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>%1 hat das Anklopfen zurückgezogen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation>Du bist dem Raum beigetreten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation>Hat das Anklopfen von %1 abgewiesen.</translation>
|
||||
</message>
|
||||
|
@ -797,7 +858,12 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation>Antworten</translation>
|
||||
</message>
|
||||
|
@ -811,6 +877,11 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation>Antworten</translation>
|
||||
</message>
|
||||
|
@ -850,7 +921,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>Kein Raum geöffnet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
|
@ -904,7 +975,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>Abmelden</translation>
|
||||
</message>
|
||||
|
@ -912,70 +983,173 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Ins Benachrichtigungsfeld minimieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Im Benachrichtigungsfeld starten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Gruppen-Seitenleiste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation>Runde Profilbilder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation>Entschlüssele Nachrichten in der Raumliste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation>Zeige Buttons in der Historie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Schreibbenachrichtigungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation>Sortiere ungelesene Räume zuerst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Lesebestätigungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation>Sende Nachrichten als Markdown formatiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>Desktopbenachrichtigungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation>Skalierungsfaktor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -1002,7 +1176,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>Gerätefingerabdruck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>Sitzungsschlüssel</translation>
|
||||
</message>
|
||||
|
@ -1022,22 +1196,22 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<translation>VERSCHLÜSSELUNG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>ALLGEMEINES</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation>OBERFLÄCHE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation>Emojischriftart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>Öffne Sessions Datei</translation>
|
||||
</message>
|
||||
|
@ -1109,7 +1283,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation>Gestern</translation>
|
||||
</message>
|
||||
|
@ -1183,7 +1357,7 @@ Beispiel: https://mein.server:8787</translation>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Abbrechen</translation>
|
||||
</message>
|
||||
|
@ -1280,7 +1454,7 @@ Medien-Größe: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Lesebestätigungen</translation>
|
||||
</message>
|
||||
|
@ -1293,12 +1467,12 @@ Medien-Größe: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation>Heute %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation>Gestern %1</translation>
|
||||
</message>
|
||||
|
@ -1306,7 +1480,7 @@ Medien-Größe: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
|
@ -1506,7 +1680,7 @@ Medien-Größe: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation>Du hast eine Audiodatei gesendet.</translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation type="unfinished">Θέμα</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Matrix ID</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>ΕΙΣΟΔΟΣ</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Όνομα χρήστη</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Διάλεξε ένα αρχείο</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">Αποθήκευση Εικόνας</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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">
|
||||
|
@ -723,6 +779,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -764,12 +825,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -793,7 +854,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -807,6 +873,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -846,7 +917,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -900,7 +971,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -908,70 +979,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Ελαχιστοποίηση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -998,7 +1172,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1018,22 +1192,22 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>ΓΕΝΙΚΑ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1105,7 +1279,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1179,7 +1353,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Άκυρο</translation>
|
||||
</message>
|
||||
|
@ -1274,7 +1448,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1287,12 +1461,12 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1300,7 +1474,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished">Ρυθμίσεις</translation>
|
||||
</message>
|
||||
|
@ -1500,7 +1674,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation>You joined this room.</translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation>Failed to invite user: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation>Invited user: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation>Room %1 created.</translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation>Unbanned user: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation>Failed to upload media. Please try again.</translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>Failed to restore save data. Please login again.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation>Low priority rooms</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation>Apply</translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Topic</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Activity</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished">Objects</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Symbols</source>
|
||||
<translation type="unfinished">Symbols</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished">Flags</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation>Remove</translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Matrix ID</translation>
|
||||
</message>
|
||||
|
@ -242,8 +297,8 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<translation>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</translation>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+6"/>
|
||||
|
@ -254,7 +309,7 @@ Example: https://server.my:8787</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>LOGIN</translation>
|
||||
</message>
|
||||
|
@ -369,7 +424,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Username</translation>
|
||||
</message>
|
||||
|
@ -437,7 +492,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation>no version stored</translation>
|
||||
</message>
|
||||
|
@ -455,7 +510,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -473,7 +528,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -485,14 +540,15 @@ Example: https://server.my:8787</translation>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -509,7 +565,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>User settings</translation>
|
||||
</message>
|
||||
|
@ -560,7 +616,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>Send a file</translation>
|
||||
</message>
|
||||
|
@ -581,7 +637,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation>Emoji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Select a file</translation>
|
||||
</message>
|
||||
|
@ -599,7 +655,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation>-- Decryption Error (failed to communicate with DB) --</translation>
|
||||
|
@ -622,7 +678,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation>Message redaction failed: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation>Save image</translation>
|
||||
</message>
|
||||
|
@ -642,7 +698,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation>Save file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation>-- Encrypted Event (No keys found for decryption) --</translation>
|
||||
|
@ -654,7 +710,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation>-- Encrypted Event (Unknown event type) --</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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>
|
||||
|
@ -727,6 +783,11 @@ Example: https://server.my:8787</translation>
|
|||
<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 type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -768,12 +829,12 @@ Example: https://server.my:8787</translation>
|
|||
<translation>%1 redacted their knock.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation>You joined this room.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation>Rejected the knock from %1.</translation>
|
||||
</message>
|
||||
|
@ -797,7 +858,12 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation>Reply</translation>
|
||||
</message>
|
||||
|
@ -811,6 +877,11 @@ Example: https://server.my:8787</translation>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation>Reply</translation>
|
||||
</message>
|
||||
|
@ -850,7 +921,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation>No room open</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation>Close</translation>
|
||||
</message>
|
||||
|
@ -904,7 +975,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>Logout</translation>
|
||||
</message>
|
||||
|
@ -912,70 +983,173 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Minimize to tray</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Start in tray</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Group's sidebar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation>Circular Avatars</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation>Decrypt messages in sidebar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation>Show buttons in timeline</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Typing notifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation>Sort rooms by unreads</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Read receipts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation>Send messages as Markdown</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>Desktop notifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation>Scale factor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -1002,7 +1176,7 @@ Example: https://server.my:8787</translation>
|
|||
<translation>Device Fingerprint</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>Session Keys</translation>
|
||||
</message>
|
||||
|
@ -1022,22 +1196,22 @@ Example: https://server.my:8787</translation>
|
|||
<translation>ENCRYPTION</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>GENERAL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation>INTERFACE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation>Emoji Font Family</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>Open Sessions File</translation>
|
||||
</message>
|
||||
|
@ -1109,7 +1283,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation>Yesterday</translation>
|
||||
</message>
|
||||
|
@ -1183,7 +1357,7 @@ Example: https://server.my:8787</translation>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Cancel</translation>
|
||||
</message>
|
||||
|
@ -1280,7 +1454,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Read receipts</translation>
|
||||
</message>
|
||||
|
@ -1293,12 +1467,12 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation>Today %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation>Yesterday %1</translation>
|
||||
</message>
|
||||
|
@ -1306,7 +1480,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>Settings</translation>
|
||||
</message>
|
||||
|
@ -1508,7 +1682,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation>You sent an audio clip</translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>Tallennettujen tietojen palauttaminen epäonnistui. Ole hyvä ja kirjaudu sisään uudelleen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation>Salausavainten lähetys epäonnistui. Palvelimen vastaus: %1 %2. Ole hyvä ja yritä uudelleen myöhemmin.</translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation>Alhaisen prioriteetin huoneet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation>Tallenna</translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Aihe</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Aktiviteetti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation>Poista</translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Matrix-tunnus</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>KIRJAUDU</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Käyttäjänimi</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation>ei tallennettua versiota</translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>Käyttäjäasetukset</translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>Lähetä tiedosto</translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>Emoji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Valitse tiedosto</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished">-- Virhe purkaessa salausta (tietokannan kanssa kommunikointi epäonnistui) --</translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished">Viestin poisto epäonnistui: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">Tallenna kuva</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished">-- Salattu viesti (salauksen purkuavaimia ei löydetty) --</translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished">-- Salattu viesti (tuntematon viestityyppi) --</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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>
|
||||
|
@ -723,6 +779,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -764,12 +825,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -793,7 +854,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -807,6 +873,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -846,7 +917,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">Sulje</translation>
|
||||
</message>
|
||||
|
@ -900,7 +971,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>Kirjaudu ulos</translation>
|
||||
</message>
|
||||
|
@ -908,70 +979,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Pienennä ilmoitusalueelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Aloita ilmoitusalueella</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Ryhmäsivupalkki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Kirjoitusilmoitukset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Lukukuittaukset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>Työpöytäilmoitukset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation>Mittakerroin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -998,7 +1172,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>Laitteen sormenjälki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>Istunnon avaimet</translation>
|
||||
</message>
|
||||
|
@ -1018,22 +1192,22 @@ Example: https://server.my:8787</source>
|
|||
<translation>SALAUS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>YLEISET ASETUKSET</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>Avaa Istuntoavaintiedosto</translation>
|
||||
</message>
|
||||
|
@ -1105,7 +1279,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation>Eilen</translation>
|
||||
</message>
|
||||
|
@ -1179,7 +1353,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Peruuta</translation>
|
||||
</message>
|
||||
|
@ -1276,7 +1450,7 @@ Median koko: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Lukukuittaukset</translation>
|
||||
</message>
|
||||
|
@ -1289,12 +1463,12 @@ Median koko: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation>Tänään %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation>Eilen %1</translation>
|
||||
</message>
|
||||
|
@ -1302,7 +1476,7 @@ Median koko: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>Asetukset</translation>
|
||||
</message>
|
||||
|
@ -1504,7 +1678,7 @@ Median koko: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Sujet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Activités</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Identifiant Matrix</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>CONNEXION</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Nom d'utilisateur</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Sélectionnez un fichier</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">Enregistrer l'image</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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">
|
||||
|
@ -723,6 +779,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -764,12 +825,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -793,7 +854,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -807,6 +873,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -846,7 +917,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -900,7 +971,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -908,70 +979,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Réduire à la barre des tâches</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Démarrer dans la barre des tâches</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Barre latérale des groupes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Notifications d'écriture</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Accusés de lecture</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -998,7 +1172,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1018,22 +1192,22 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>GÉNÉRAL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1105,7 +1279,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1179,7 +1353,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Annuler</translation>
|
||||
</message>
|
||||
|
@ -1276,7 +1450,7 @@ Taille du média : %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Accusés de lecture</translation>
|
||||
</message>
|
||||
|
@ -1289,12 +1463,12 @@ Taille du média : %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1302,7 +1476,7 @@ Taille du média : %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished">Paramètres</translation>
|
||||
</message>
|
||||
|
@ -1502,7 +1676,7 @@ Taille du média : %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation>Sei entrato in questa stanza.</translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation>Impossibile invitare l'utente: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation>Invitato utente: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation>Migrazione della cache alla versione corrente fallita. Questo può avere diverse cause. Per favore apri una issue e nel frattempo prova ad usare una versione più vecchia. In alternativa puoi provare a cancellare la cache manualmente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation>Stanza %1 creata.</translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation>Rimosso il ban dall'utente: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation>Impossibile inviare il file multimediale. Per favore riprova.</translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>Impossibile ripristinare i dati salvati. Per favore accedi nuovamente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation>Impossibile configurare le chiavi crittografiche. Risposta del server: %1 %2. Per favore riprova in seguito.</translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation>Stanze a bassa priorità</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation>Applica</translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Argomento</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Attività</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation>Rimuovi</translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>ID Matrix</translation>
|
||||
</message>
|
||||
|
@ -242,8 +297,8 @@ Se Nheko non conclude la ricerca del tuo homeserver, ti mostrerà un campo in cu
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<translation>Un nome per questo dispositivo, che sarà mostrato agli altri mentre si verificano i tuoi dispositivi. Se non ne fornisci uno, verrà usata una stringa casuale per ragioni di privacy. </translation>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+6"/>
|
||||
|
@ -254,7 +309,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>ACCEDI</translation>
|
||||
</message>
|
||||
|
@ -369,7 +424,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Nome utente</translation>
|
||||
</message>
|
||||
|
@ -437,7 +492,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation>nessuna versione memorizzata</translation>
|
||||
</message>
|
||||
|
@ -445,12 +500,59 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>RoomInfoListItem</name>
|
||||
<message>
|
||||
<location filename="../../src/RoomInfoListItem.cpp" line="+98"/>
|
||||
<location filename="../../src/RoomInfoListItem.cpp" line="+102"/>
|
||||
<source>Leave room</source>
|
||||
<translation>Lascia la stanza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+160"/>
|
||||
<location line="+7"/>
|
||||
<source>Tag room as:</source>
|
||||
<translation type="unfinished">stanza come:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished">Tag matrix standard per i preferiti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Low Priority</source>
|
||||
<comment>Standard matrix tag for low priority rooms</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Server Notice</source>
|
||||
<comment>Standard matrix tag for server notices</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished">Aggiungi o rimuovi il tag specificato.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+38"/>
|
||||
<source>New tag...</source>
|
||||
<comment>Add a new tag to the room</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+173"/>
|
||||
<source>Accept</source>
|
||||
<translation>Accetta</translation>
|
||||
</message>
|
||||
|
@ -463,7 +565,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>Impostazioni utente</translation>
|
||||
</message>
|
||||
|
@ -514,7 +616,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>Invia un file</translation>
|
||||
</message>
|
||||
|
@ -535,7 +637,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>Emoji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Seleziona un file</translation>
|
||||
</message>
|
||||
|
@ -553,7 +655,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation>-- Errore di Decriptazione (impossibile comunicare con il DB) --</translation>
|
||||
|
@ -576,7 +678,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>Oscuramento del messaggio fallito: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation>Salva immagine</translation>
|
||||
</message>
|
||||
|
@ -596,7 +698,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>Salva file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation>-- Evento Criptato (Chiavi per la decriptazione non trovate) --</translation>
|
||||
|
@ -608,7 +710,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>-- Evento Criptato (Tipo di evento ignoto) --</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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>
|
||||
|
@ -681,6 +783,11 @@ Esempio: https://server.mio:8787</translation>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -722,12 +829,12 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>%1 ha oscurato la sua bussata.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation>Sei entrato in questa stanza.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation>Rifiutata la bussata di %1.</translation>
|
||||
</message>
|
||||
|
@ -751,7 +858,12 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+88"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation>Rispondi</translation>
|
||||
</message>
|
||||
|
@ -764,7 +876,12 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+53"/>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation>Risposta</translation>
|
||||
</message>
|
||||
|
@ -804,7 +921,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>Nessuna stanza aperta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+256"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation>Chiudi</translation>
|
||||
</message>
|
||||
|
@ -858,7 +975,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>Disconnettiti</translation>
|
||||
</message>
|
||||
|
@ -866,65 +983,173 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+335"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Minimizza nella tray</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Avvia nella tray</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Barra laterale dei gruppi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation>Avatar Circolari</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation>Decripta messaggi nella barra laterale</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation>Mostra pulsanti nella timeline</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Notifiche di scrittura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation>Ordina stanze per non letti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Ricevute di lettura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation>Invia messaggi come Markdown</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>Notifiche desktop</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished">Evidenzia il messaggio al passaggio del mouse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation>Fattore di scala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -951,7 +1176,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>Impronta digitale del dispositivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-59"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>Chiavi di Sessione</translation>
|
||||
</message>
|
||||
|
@ -971,22 +1196,22 @@ Esempio: https://server.mio:8787</translation>
|
|||
<translation>CRITTOGRAFIA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-63"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>GENERALE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+25"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation>INTERFACCIA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+108"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation>Famiglia dei caratteri delle Emoji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+158"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>Apri File delle Sessioni</translation>
|
||||
</message>
|
||||
|
@ -1058,7 +1283,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation>Ieri</translation>
|
||||
</message>
|
||||
|
@ -1132,7 +1357,7 @@ Esempio: https://server.mio:8787</translation>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Annulla</translation>
|
||||
</message>
|
||||
|
@ -1229,7 +1454,7 @@ Peso media: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Ricevute di lettura</translation>
|
||||
</message>
|
||||
|
@ -1242,12 +1467,12 @@ Peso media: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation>Oggi %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation>Ieri %1</translation>
|
||||
</message>
|
||||
|
@ -1255,7 +1480,7 @@ Peso media: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>Impostazioni</translation>
|
||||
</message>
|
||||
|
@ -1457,7 +1682,7 @@ Peso media: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation>Hai inviato una clip audio</translation>
|
||||
</message>
|
||||
|
@ -1558,29 +1783,4 @@ Peso media: %2
|
|||
<translation>Tipo di Messaggio sconosciuto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name></name>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Tag room as:</source>
|
||||
<translation>stanza come:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation>Tag matrix standard per i preferiti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation>Aggiungi o rimuovi il tag specificato.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation>Evidenzia il messaggio al passaggio del mouse</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation>ユーザーを招待できませんでした: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation>招待されたユーザー: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation>永久追放を解除されたユーザー: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation>メディアをアップロードできませんでした。やり直して下さい。</translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>セーブデータを復元できませんでした。もう一度ログインして下さい。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation>暗号化鍵を設定できませんでした。サーバーの応答: %1 %2. 後でやり直して下さい。</translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation>優先度の低い部屋</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation>適用</translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>話題</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation>削除</translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Matrix ID</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>ログイン</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>ユーザー名</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation>バージョンが保存されていません</translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>ユーザー設定</translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>ファイルを送信</translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>絵文字</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>ファイルを選択</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation>-- 復号エラー (データベースと通信できませんでした) --</translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>メッセージを編集できませんでした: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation>画像を保存</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>ファイルを保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished">-- 暗号化イベント (復号鍵が見つかりません) --</translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished">-- 暗号化イベント (不明なイベント型です) --</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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>
|
||||
|
@ -722,6 +778,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -763,12 +824,12 @@ Example: https://server.my:8787</source>
|
|||
<translation>%1がノックを編集しました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation>%1からのノックを拒否しました。</translation>
|
||||
</message>
|
||||
|
@ -792,7 +853,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation>返信</translation>
|
||||
</message>
|
||||
|
@ -806,6 +872,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished">返信</translation>
|
||||
</message>
|
||||
|
@ -845,7 +916,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>部屋が開いていません</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation>閉じる</translation>
|
||||
</message>
|
||||
|
@ -899,7 +970,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>ログアウト</translation>
|
||||
</message>
|
||||
|
@ -907,70 +978,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>トレイへ最小化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>トレイで起動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>グループサイドバー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation>円形アバター</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>入力状態の通知</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>開封確認</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation>メッセージをMarkdownとして送信</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>デスクトップ通知</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation>尺度係数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -997,7 +1171,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>デバイスの指紋</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>セッション鍵</translation>
|
||||
</message>
|
||||
|
@ -1017,22 +1191,22 @@ Example: https://server.my:8787</source>
|
|||
<translation>暗号化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>全般</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>セッションファイルを開く</translation>
|
||||
</message>
|
||||
|
@ -1104,7 +1278,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation>昨日</translation>
|
||||
</message>
|
||||
|
@ -1178,7 +1352,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation>キャンセル</translation>
|
||||
</message>
|
||||
|
@ -1275,7 +1449,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>開封確認</translation>
|
||||
</message>
|
||||
|
@ -1288,12 +1462,12 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation>今日 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation>昨日 %1</translation>
|
||||
</message>
|
||||
|
@ -1301,7 +1475,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>設定</translation>
|
||||
</message>
|
||||
|
@ -1502,7 +1676,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation>音声データを送信しました</translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Onderwerp</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Activiteit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Matrix-id</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>INLOGGEN</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Gebruikersnaam</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Kies een bestand</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">Afbeelding opslaan</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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">
|
||||
|
@ -723,6 +779,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -764,12 +825,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -793,7 +854,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -807,6 +873,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -846,7 +917,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -900,7 +971,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -908,70 +979,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Minimaliseren naar systeemvak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Geminimaliseerd opstarten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Zijbalk van groep</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Meldingen bij typen van berichten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Leesbevestigingen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -998,7 +1172,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1018,22 +1192,22 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>ALGEMEEN</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1105,7 +1279,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1179,7 +1353,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Annuleren</translation>
|
||||
</message>
|
||||
|
@ -1276,7 +1450,7 @@ Mediagrootte: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Leesbevestigingen</translation>
|
||||
</message>
|
||||
|
@ -1289,12 +1463,12 @@ Mediagrootte: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1302,7 +1476,7 @@ Mediagrootte: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished">Instellingen</translation>
|
||||
</message>
|
||||
|
@ -1502,7 +1676,7 @@ Mediagrootte: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>Nie udało się przywrócić zapisanych danych. Spróbuj zalogować się ponownie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Temat</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Aktywność</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>ID Matrixa</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>ZALOGUJ</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Nazwa użytkownika</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>Ustawienia użytkownika</translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>Wyślij plik</translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>Emoji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Wybierz plik</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished">Redagowanie wiadomości nie powiodło się: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">Zapisz obraz</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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">
|
||||
|
@ -724,6 +780,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -765,12 +826,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -794,7 +855,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -808,6 +874,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -847,7 +918,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -901,7 +972,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>Wyloguj</translation>
|
||||
</message>
|
||||
|
@ -909,70 +980,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Zminimalizuj do paska zadań</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Rozpocznij na pasku zadań</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Pasek boczny grupy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Powiadomienia o pisaniu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Potwierdzenia przeczytania</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>Powiadomienia na pulpicie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -999,7 +1173,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>Odcisk palca urządzenia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1019,22 +1193,22 @@ Example: https://server.my:8787</source>
|
|||
<translation>SZYFROWANIE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>OGÓLNE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1106,7 +1280,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1180,7 +1354,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Anuluj</translation>
|
||||
</message>
|
||||
|
@ -1277,7 +1451,7 @@ Rozmiar multimediów: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Potwierdzenia przeczytania</translation>
|
||||
</message>
|
||||
|
@ -1290,12 +1464,12 @@ Rozmiar multimediów: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1303,7 +1477,7 @@ Rozmiar multimediów: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>Ustawienia</translation>
|
||||
</message>
|
||||
|
@ -1506,7 +1680,7 @@ Rozmiar multimediów: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>Не удалось восстановить сохраненные данные. Пожалуйста, войдите снова.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation>Не удалось настроить ключи шифрования. Ответ сервера:%1 %2. Пожалуйста, попробуйте позже.</translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation>Комнаты с низким приоритетом</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation>Применить</translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>Тема</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation>Удалить</translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation>Идентификатор Matrix</translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>ВОЙТИ</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>Имя пользователя</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>Пользовательские настройки</translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>Отправить файл</translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>Выберите файл</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished">Ошибка редактирования сообщения: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">Сохранить изображение</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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">
|
||||
|
@ -724,6 +780,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -765,12 +826,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -794,7 +855,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -808,6 +874,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -847,7 +918,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">Закрыть</translation>
|
||||
</message>
|
||||
|
@ -901,7 +972,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>Выйти</translation>
|
||||
</message>
|
||||
|
@ -909,70 +980,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>Сворачивать в системную панель</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>Запускать в системной панели</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>Боковая панель групп</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>Сообщать о наборе сообщения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Подтверждать прочтение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>Уведомления на рабочем столе</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation>Масштаб</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -999,7 +1173,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>Отпечаток устройства</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>Ключи сеанса</translation>
|
||||
</message>
|
||||
|
@ -1019,22 +1193,22 @@ Example: https://server.my:8787</source>
|
|||
<translation>ШИФРОВАНИЕ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>ГЛАВНОЕ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>Открыть файл сеансов</translation>
|
||||
</message>
|
||||
|
@ -1107,7 +1281,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1181,7 +1355,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation>Отмена</translation>
|
||||
</message>
|
||||
|
@ -1278,7 +1452,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>Подтверждать прочтение</translation>
|
||||
</message>
|
||||
|
@ -1291,12 +1465,12 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1304,7 +1478,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>Настройки</translation>
|
||||
</message>
|
||||
|
@ -1505,7 +1679,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<context>
|
||||
<name>Cache</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+1341"/>
|
||||
<location filename="../../src/Cache.cpp" line="+1342"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -12,23 +12,23 @@
|
|||
<context>
|
||||
<name>ChatPage</name>
|
||||
<message>
|
||||
<location filename="../../src/ChatPage.cpp" line="+226"/>
|
||||
<location filename="../../src/ChatPage.cpp" line="+227"/>
|
||||
<source>Failed to invite user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<location line="+892"/>
|
||||
<location line="+923"/>
|
||||
<source>Invited user: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-463"/>
|
||||
<location line="-471"/>
|
||||
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+428"/>
|
||||
<location line="+436"/>
|
||||
<source>Room %1 created.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-817"/>
|
||||
<location line="-825"/>
|
||||
<source>Failed to upload media. Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<translation>恢复保存的数据失败。请重新登录。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+148"/>
|
||||
<location line="+156"/>
|
||||
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -151,6 +151,12 @@
|
|||
<source>Low priority rooms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Server Notices</source>
|
||||
<comment>Tag translation for m.server_notice</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+2"/>
|
||||
|
@ -166,7 +172,7 @@
|
|||
<context>
|
||||
<name>EditModal</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+60"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -186,6 +192,55 @@
|
|||
<translation>主题</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EmojiPicker</name>
|
||||
<message>
|
||||
<location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
|
||||
<location line="+139"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-42"/>
|
||||
<source>People</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Nature</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Food</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Activity</source>
|
||||
<translation type="unfinished">Activity</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Travel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Objects</source>
|
||||
<translation type="unfinished">Objects</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Symbols</source>
|
||||
<translation type="unfinished">Symbols</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished">Flags</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EncryptionIndicator</name>
|
||||
<message>
|
||||
|
@ -202,7 +257,7 @@
|
|||
<context>
|
||||
<name>InviteeItem</name>
|
||||
<message>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+17"/>
|
||||
<location filename="../../src/InviteeItem.cpp" line="+18"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -210,7 +265,7 @@
|
|||
<context>
|
||||
<name>LoginPage</name>
|
||||
<message>
|
||||
<location filename="../../src/LoginPage.cpp" line="+89"/>
|
||||
<location filename="../../src/LoginPage.cpp" line="+90"/>
|
||||
<source>Matrix ID</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
|
@ -239,7 +294,7 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th
|
|||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided, a random string is used for privacy purposes.</source>
|
||||
<source>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -250,7 +305,7 @@ Example: https://server.my:8787</source>
|
|||
</message>
|
||||
<message>
|
||||
<location line="+16"/>
|
||||
<location line="+185"/>
|
||||
<location line="+191"/>
|
||||
<source>LOGIN</source>
|
||||
<translation>登录</translation>
|
||||
</message>
|
||||
|
@ -365,7 +420,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RegisterPage</name>
|
||||
<message>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+87"/>
|
||||
<location filename="../../src/RegisterPage.cpp" line="+88"/>
|
||||
<source>Username</source>
|
||||
<translation>用户名</translation>
|
||||
</message>
|
||||
|
@ -433,7 +488,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>RoomInfo</name>
|
||||
<message>
|
||||
<location filename="../../src/Cache.cpp" line="+939"/>
|
||||
<location filename="../../src/Cache.cpp" line="+940"/>
|
||||
<source>no version stored</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -451,7 +506,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<location line="+18"/>
|
||||
<source>Favourite</source>
|
||||
<comment>Standard matrix tag for favourites</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -469,7 +524,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+12"/>
|
||||
<source>Adds or removes the specified tag.</source>
|
||||
<comment>WhatsThis hint for tag menu actions</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -481,14 +536,15 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+4"/>
|
||||
<source>New Tag</source>
|
||||
<comment>Tag name prompt title</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+0"/>
|
||||
<location line="+1"/>
|
||||
<source>Tag:</source>
|
||||
<comment>Tag name prompt</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -505,7 +561,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>SideBarActions</name>
|
||||
<message>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+38"/>
|
||||
<location filename="../../src/SideBarActions.cpp" line="+40"/>
|
||||
<source>User settings</source>
|
||||
<translation>用户设置</translation>
|
||||
</message>
|
||||
|
@ -556,7 +612,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TextInputWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+459"/>
|
||||
<location filename="../../src/TextInputWidget.cpp" line="+460"/>
|
||||
<source>Send a file</source>
|
||||
<translation>发送一个文件</translation>
|
||||
</message>
|
||||
|
@ -577,7 +633,7 @@ Example: https://server.my:8787</source>
|
|||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+84"/>
|
||||
<location line="+86"/>
|
||||
<source>Select a file</source>
|
||||
<translation>选择一个文件</translation>
|
||||
</message>
|
||||
|
@ -595,7 +651,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineModel</name>
|
||||
<message>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
|
||||
<location filename="../../src/timeline/TimelineModel.cpp" line="+891"/>
|
||||
<source>-- Decryption Error (failed to communicate with DB) --</source>
|
||||
<comment>Placeholder, when the message can't be decrypted, because the DB access failed when trying to lookup the session.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -618,7 +674,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished">删除消息失败:%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+455"/>
|
||||
<location line="+488"/>
|
||||
<source>Save image</source>
|
||||
<translation type="unfinished">保存图像</translation>
|
||||
</message>
|
||||
|
@ -638,7 +694,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-610"/>
|
||||
<location line="-643"/>
|
||||
<source>-- Encrypted Event (No keys found for decryption) --</source>
|
||||
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -650,7 +706,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+660"/>
|
||||
<location line="+693"/>
|
||||
<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">
|
||||
|
@ -722,6 +778,11 @@ Example: https://server.my:8787</source>
|
|||
<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="+4"/>
|
||||
<source>%1 joined.</source>
|
||||
|
@ -763,12 +824,12 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1238"/>
|
||||
<location line="-1281"/>
|
||||
<source>You joined this room.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1240"/>
|
||||
<location line="+1283"/>
|
||||
<source>Rejected the knock from %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -792,7 +853,12 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>TimelineRow</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineRow.qml" line="+92"/>
|
||||
<location filename="../qml/TimelineRow.qml" line="+91"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+17"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -806,6 +872,11 @@ Example: https://server.my:8787</source>
|
|||
<name>TimelineView</name>
|
||||
<message>
|
||||
<location filename="../qml/TimelineView.qml" line="+54"/>
|
||||
<source>React</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Reply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -845,7 +916,7 @@ Example: https://server.my:8787</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+257"/>
|
||||
<location line="+259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -899,7 +970,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+88"/>
|
||||
<location filename="../../src/UserInfoWidget.cpp" line="+91"/>
|
||||
<source>Logout</source>
|
||||
<translation>登出</translation>
|
||||
</message>
|
||||
|
@ -907,70 +978,173 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>UserSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+339"/>
|
||||
<location filename="../../src/UserSettingsPage.cpp" line="+520"/>
|
||||
<source>Minimize to tray</source>
|
||||
<translation>最小化至托盘</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+3"/>
|
||||
<source>Start in tray</source>
|
||||
<translation>在托盘启动</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<location line="+7"/>
|
||||
<source>Group's sidebar</source>
|
||||
<translation>群组侧边栏</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-1"/>
|
||||
<location line="-3"/>
|
||||
<source>Circular Avatars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="-5"/>
|
||||
<source>Keep the application running in the background after closing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Start the application in the background without showing the client window.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Change the appearance of user avatars in chats.
|
||||
OFF - square, ON - Circle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Show a column containing groups and tags next to the room list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Decrypt messages in sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Decrypt the messages shown in the sidebar.
|
||||
Only affects messages in encrypted chats.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show buttons to quickly reply, react or access additional options next to each message.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Limit width of timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Set the max width of messages in the timeline (in pixels). This can help readability on wide screen, when Nheko is maximised</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Typing notifications</source>
|
||||
<translation>打字通知</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show who is typing in a room.
|
||||
This will also enable or disable sending typing notifications to others.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+3"/>
|
||||
<source>Sort rooms by unreads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<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't seem to consider them as important as the other rooms.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+7"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>阅读回执</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Show if your message was read.
|
||||
Status is displayed next to timestamps.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Send messages as Markdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<location line="+2"/>
|
||||
<source>Allow using markdown in messages.
|
||||
When disabled, all messages are sent as a plain text.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Desktop notifications</source>
|
||||
<translation>桌面通知</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Notify about received message when the client is not currently focused.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Alert on notification</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Show an alert when a message is received.
|
||||
This usually causes the application icon in the task bar to animate in some fashion.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Highlight message on hover</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the background color of messages when you hover over them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+1"/>
|
||||
<source>Large Emoji in timeline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Make font size larger if messages with only a few emojis are displayed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+5"/>
|
||||
<source>Scale factor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<source>Change the scale factor of the whole user interface.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+4"/>
|
||||
<source>Font size</source>
|
||||
|
@ -997,7 +1171,7 @@ Example: https://server.my:8787</source>
|
|||
<translation>设备指纹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-60"/>
|
||||
<location line="-113"/>
|
||||
<source>Session Keys</source>
|
||||
<translation>会话密钥</translation>
|
||||
</message>
|
||||
|
@ -1017,22 +1191,22 @@ Example: https://server.my:8787</source>
|
|||
<translation>加密</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-64"/>
|
||||
<location line="-71"/>
|
||||
<source>GENERAL</source>
|
||||
<translation>通用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+26"/>
|
||||
<location line="+29"/>
|
||||
<source>INTERFACE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+109"/>
|
||||
<location line="+166"/>
|
||||
<source>Emoji Font Family</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+163"/>
|
||||
<location line="+179"/>
|
||||
<source>Open Sessions File</source>
|
||||
<translation>打开会话文件</translation>
|
||||
</message>
|
||||
|
@ -1104,7 +1278,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>descriptiveTime</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.cpp" line="+141"/>
|
||||
<location filename="../../src/Utils.cpp" line="+147"/>
|
||||
<source>Yesterday</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1178,7 +1352,7 @@ Example: https://server.my:8787</source>
|
|||
<context>
|
||||
<name>dialogs::InviteUsers</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
|
||||
<location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">取消</translation>
|
||||
</message>
|
||||
|
@ -1275,7 +1449,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReadReceipts</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+117"/>
|
||||
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/>
|
||||
<source>Read receipts</source>
|
||||
<translation>阅读回执</translation>
|
||||
</message>
|
||||
|
@ -1288,12 +1462,12 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::ReceiptItem</name>
|
||||
<message>
|
||||
<location line="-44"/>
|
||||
<location line="-46"/>
|
||||
<source>Today %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+2"/>
|
||||
<location line="+3"/>
|
||||
<source>Yesterday %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1301,7 +1475,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>dialogs::RoomSettings</name>
|
||||
<message>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
|
||||
<location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/>
|
||||
<source>Settings</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
|
@ -1510,7 +1684,7 @@ Media size: %2
|
|||
<context>
|
||||
<name>message-description sent:</name>
|
||||
<message>
|
||||
<location filename="../../src/Utils.h" line="+100"/>
|
||||
<location filename="../../src/Utils.h" line="+103"/>
|
||||
<source>You sent an audio clip</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -3,7 +3,8 @@ import QtQuick.Controls 2.3
|
|||
|
||||
AbstractButton {
|
||||
property string image: undefined
|
||||
|
||||
width: 16
|
||||
height: 16
|
||||
id: button
|
||||
|
||||
Image {
|
||||
|
|
|
@ -1,7 +1,19 @@
|
|||
import QtQuick 2.6
|
||||
import QtQuick.Controls 2.2
|
||||
|
||||
// This class is for showing Reactions in the timeline row, not for
|
||||
// adding new reactions via the emoji picker
|
||||
Flow {
|
||||
id: reactionFlow
|
||||
|
||||
// highlight colors for selfReactedEvent background
|
||||
property real highlightHue: colors.highlight.hslHue
|
||||
property real highlightSat: colors.highlight.hslSaturation
|
||||
property real highlightLight: colors.highlight.hslLightness
|
||||
|
||||
property string eventId
|
||||
property string roomId
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
spacing: 4
|
||||
|
@ -11,9 +23,8 @@ Flow {
|
|||
Repeater {
|
||||
id: repeater
|
||||
|
||||
AbstractButton {
|
||||
delegate: AbstractButton {
|
||||
id: reaction
|
||||
text: model.key
|
||||
hoverEnabled: true
|
||||
implicitWidth: contentItem.childrenRect.width + contentItem.leftPadding*2
|
||||
implicitHeight: contentItem.childrenRect.height
|
||||
|
@ -21,6 +32,11 @@ Flow {
|
|||
ToolTip.visible: hovered
|
||||
ToolTip.text: model.users
|
||||
|
||||
onClicked: {
|
||||
console.debug("Picked " + model.key + "in response to " + reactionFlow.eventId + " in room " + reactionFlow.roomId + ". selfReactedEvent: " + model.selfReactedEvent)
|
||||
timelineManager.reactToMessage(reactionFlow.roomId, reactionFlow.eventId, model.key, model.selfReactedEvent)
|
||||
}
|
||||
|
||||
|
||||
contentItem: Row {
|
||||
anchors.centerIn: parent
|
||||
|
@ -33,13 +49,13 @@ Flow {
|
|||
font.family: settings.emojiFont
|
||||
elide: Text.ElideRight
|
||||
elideWidth: 150
|
||||
text: reaction.text
|
||||
text: model.key
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors.baseline: reactionCounter.baseline
|
||||
id: reactionText
|
||||
text: textMetrics.elidedText + (textMetrics.elidedText == textMetrics.text ? "" : "…")
|
||||
text: textMetrics.elidedText + (textMetrics.elidedText == model.key ? "" : "…")
|
||||
font.family: settings.emojiFont
|
||||
color: reaction.hovered ? colors.highlight : colors.text
|
||||
maximumLineCount: 1
|
||||
|
@ -49,7 +65,7 @@ Flow {
|
|||
id: divider
|
||||
height: Math.floor(reactionCounter.implicitHeight * 1.4)
|
||||
width: 1
|
||||
color: reaction.hovered ? colors.highlight : colors.text
|
||||
color: (reaction.hovered || model.selfReactedEvent !== '') ? colors.highlight : colors.text
|
||||
}
|
||||
|
||||
Text {
|
||||
|
@ -63,10 +79,11 @@ Flow {
|
|||
|
||||
background: Rectangle {
|
||||
anchors.centerIn: parent
|
||||
|
||||
implicitWidth: reaction.implicitWidth
|
||||
height: reaction.implicitHeight
|
||||
border.color: (reaction.hovered || model.selfReacted )? colors.highlight : colors.text
|
||||
color: colors.base
|
||||
implicitHeight: reaction.implicitHeight
|
||||
border.color: (reaction.hovered || model.selfReactedEvent !== '') ? colors.highlight : colors.text
|
||||
color: model.selfReactedEvent !== '' ? Qt.hsla(highlightHue, highlightSat, highlightLight, 0.20) : colors.base
|
||||
border.width: 1
|
||||
radius: reaction.height / 2.0
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ MouseArea {
|
|||
pixelDelta = wheel.pixelDelta.y
|
||||
}
|
||||
|
||||
pixelDelta = Math.round(pixelDelta)
|
||||
pixelDelta = Math.round(pixelDelta)
|
||||
|
||||
if (!pixelDelta) {
|
||||
return flickableItem.contentY;
|
||||
|
|
|
@ -6,6 +6,7 @@ import QtQuick.Window 2.2
|
|||
import im.nheko 1.0
|
||||
|
||||
import "./delegates"
|
||||
import "./emoji"
|
||||
|
||||
MouseArea {
|
||||
anchors.left: parent.left
|
||||
|
@ -58,7 +59,10 @@ MouseArea {
|
|||
}
|
||||
|
||||
Reactions {
|
||||
id: reactionRow
|
||||
reactions: model.reactions
|
||||
roomId: model.roomId
|
||||
eventId: model.id
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,7 +80,19 @@ MouseArea {
|
|||
Layout.preferredHeight: 16
|
||||
width: 16
|
||||
}
|
||||
|
||||
EmojiButton {
|
||||
visible: settings.buttonsInTimeline
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignTop
|
||||
Layout.preferredHeight: 16
|
||||
width: 16
|
||||
id: reactButton
|
||||
hoverEnabled: true
|
||||
ToolTip.visible: hovered
|
||||
ToolTip.text: qsTr("React")
|
||||
emojiPicker: emojiPopup
|
||||
room_id: model.roomId
|
||||
event_id: model.id
|
||||
}
|
||||
ImageButton {
|
||||
visible: settings.buttonsInTimeline
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignTop
|
||||
|
|
|
@ -5,14 +5,19 @@ import QtGraphicalEffects 1.0
|
|||
import QtQuick.Window 2.2
|
||||
|
||||
import im.nheko 1.0
|
||||
import im.nheko.EmojiModel 1.0
|
||||
|
||||
import "./delegates"
|
||||
import "./emoji"
|
||||
|
||||
Page {
|
||||
property var colors: currentActivePalette
|
||||
property var systemInactive: SystemPalette { colorGroup: SystemPalette.Disabled }
|
||||
property var inactiveColors: currentInactivePalette ? currentInactivePalette : systemInactive
|
||||
property int avatarSize: 40
|
||||
property real highlightHue: colors.highlight.hslHue
|
||||
property real highlightSat: colors.highlight.hslSaturation
|
||||
property real highlightLight: colors.highlight.hslLightness
|
||||
|
||||
palette: colors
|
||||
|
||||
|
@ -20,6 +25,17 @@ Page {
|
|||
id: fontMetrics
|
||||
}
|
||||
|
||||
EmojiPicker {
|
||||
id: emojiPopup
|
||||
width: 7 * 52 + 20
|
||||
height: 6 * 52
|
||||
colors: palette
|
||||
model: EmojiProxyModel {
|
||||
category: EmojiCategory.People
|
||||
sourceModel: EmojiModel {}
|
||||
}
|
||||
}
|
||||
|
||||
Menu {
|
||||
id: messageContextMenu
|
||||
modal: true
|
||||
|
@ -34,7 +50,10 @@ Page {
|
|||
property string eventId
|
||||
property int eventType
|
||||
property bool isEncrypted
|
||||
|
||||
MenuItem {
|
||||
text: qsTr("React")
|
||||
onClicked: chat.model.reactAction(messageContextMenu.eventId)
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Reply")
|
||||
onClicked: chat.model.replyAction(messageContextMenu.eventId)
|
||||
|
|
|
@ -11,5 +11,4 @@ Label {
|
|||
radius: parent.height / 2
|
||||
color: colors.dark
|
||||
}
|
||||
|
||||
}
|
||||
|
|
18
resources/qml/emoji/EmojiButton.qml
Normal file
18
resources/qml/emoji/EmojiButton.qml
Normal file
|
@ -0,0 +1,18 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.1
|
||||
import im.nheko 1.0
|
||||
import im.nheko.EmojiModel 1.0
|
||||
|
||||
import "../"
|
||||
|
||||
ImageButton {
|
||||
property var colors: currentActivePalette
|
||||
property var emojiPicker
|
||||
property string room_id
|
||||
property string event_id
|
||||
|
||||
image: ":/icons/icons/ui/smile.png"
|
||||
id: emojiButton
|
||||
onClicked: emojiPicker.visible ? emojiPicker.close() : emojiPicker.show(emojiButton, room_id, event_id)
|
||||
|
||||
}
|
290
resources/qml/emoji/EmojiPicker.qml
Normal file
290
resources/qml/emoji/EmojiPicker.qml
Normal file
|
@ -0,0 +1,290 @@
|
|||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.9
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.9
|
||||
|
||||
import im.nheko 1.0
|
||||
import im.nheko.EmojiModel 1.0
|
||||
|
||||
import "../"
|
||||
|
||||
Popup {
|
||||
|
||||
function show(showAt, room_id, event_id) {
|
||||
console.debug("Showing emojiPicker for " + event_id + "in room " + room_id)
|
||||
parent = showAt
|
||||
x = Math.round((showAt.width - width) / 2)
|
||||
y = showAt.height
|
||||
emojiPopup.room_id = room_id
|
||||
emojiPopup.event_id = event_id
|
||||
open()
|
||||
}
|
||||
|
||||
property string room_id
|
||||
property string event_id
|
||||
property var colors
|
||||
property alias model: gridView.model
|
||||
property var textArea
|
||||
property string emojiCategory: "people"
|
||||
property real highlightHue: colors.highlight.hslHue
|
||||
property real highlightSat: colors.highlight.hslSaturation
|
||||
property real highlightLight: colors.highlight.hslLightness
|
||||
|
||||
id: emojiPopup
|
||||
|
||||
margins: 0
|
||||
bottomPadding: 1
|
||||
leftPadding: 1
|
||||
rightPadding: 1
|
||||
|
||||
modal: true
|
||||
focus: true
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
||||
|
||||
ColumnLayout {
|
||||
id: columnView
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
Layout.bottomMargin: 0
|
||||
Layout.leftMargin: 3
|
||||
Layout.rightMargin: 3
|
||||
Layout.topMargin: 2
|
||||
|
||||
// emoji grid
|
||||
GridView {
|
||||
id: gridView
|
||||
|
||||
Layout.preferredHeight: emojiPopup.height
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.leftMargin: 4
|
||||
|
||||
cellWidth: 52
|
||||
cellHeight: 52
|
||||
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
|
||||
clip: true
|
||||
|
||||
// Individual emoji
|
||||
delegate: AbstractButton {
|
||||
width: 48
|
||||
height: 48
|
||||
contentItem: Text {
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.family: settings.emojiFont
|
||||
|
||||
font.pixelSize: 36
|
||||
text: model.unicode
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
anchors.fill: parent
|
||||
color: hovered ? colors.highlight : 'transparent'
|
||||
radius: 5
|
||||
}
|
||||
|
||||
hoverEnabled: true
|
||||
ToolTip.text: model.shortName
|
||||
ToolTip.visible: hovered
|
||||
|
||||
// give the emoji a little oomf
|
||||
DropShadow {
|
||||
width: parent.width;
|
||||
height: parent.height;
|
||||
horizontalOffset: 3
|
||||
verticalOffset: 3
|
||||
radius: 8.0
|
||||
samples: 17
|
||||
color: "#80000000"
|
||||
source: parent.contentItem
|
||||
}
|
||||
// TODO: maybe add favorites at some point?
|
||||
onClicked: {
|
||||
console.debug("Picked " + model.unicode + "in response to " + emojiPopup.event_id + " in room " + emojiPopup.room_id)
|
||||
emojiPopup.close()
|
||||
timelineManager.queueReactionMessage(emojiPopup.room_id, emojiPopup.event_id, model.unicode)
|
||||
}
|
||||
}
|
||||
|
||||
// Search field
|
||||
header: TextField {
|
||||
id: emojiSearch
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: emojiScroll.width + 4
|
||||
placeholderText: qsTr("Search")
|
||||
selectByMouse: true
|
||||
rightPadding: clearSearch.width
|
||||
|
||||
Timer {
|
||||
id: searchTimer
|
||||
interval: 350 // tweak as needed?
|
||||
onTriggered: {
|
||||
emojiPopup.model.filter = emojiSearch.text
|
||||
emojiPopup.model.category = EmojiCategory.Search
|
||||
}
|
||||
}
|
||||
|
||||
ToolButton {
|
||||
id: clearSearch
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
right: parent.right
|
||||
}
|
||||
// clear the default hover effects.
|
||||
background: Item {}
|
||||
visible: emojiSearch.text !== ''
|
||||
icon.source: "image://colorimage/:/icons/icons/ui/round-remove-button.png?" + (clearSearch.hovered ? colors.highlight : colors.buttonText)
|
||||
focusPolicy: Qt.NoFocus
|
||||
onClicked: emojiSearch.clear()
|
||||
}
|
||||
|
||||
onTextChanged: searchTimer.restart()
|
||||
onVisibleChanged: if (visible) forceActiveFocus()
|
||||
}
|
||||
|
||||
ScrollBar.vertical: ScrollBar {
|
||||
id: emojiScroll
|
||||
}
|
||||
}
|
||||
|
||||
// Separator
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 1
|
||||
|
||||
color: emojiPopup.colors.dark
|
||||
}
|
||||
|
||||
// Category picker row
|
||||
RowLayout {
|
||||
Layout.bottomMargin: 0
|
||||
Layout.preferredHeight: 42
|
||||
implicitHeight: 42
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
|
||||
// Display the normal categories
|
||||
Repeater {
|
||||
model: ListModel {
|
||||
// TODO: Would like to get 'simple' icons for the categories
|
||||
ListElement { image: ":/icons/icons/emoji-categories/people.png"; category: EmojiCategory.People }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/nature.png"; category: EmojiCategory.Nature }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/foods.png"; category: EmojiCategory.Food }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/activity.png"; category: EmojiCategory.Activity }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/travel.png"; category: EmojiCategory.Travel }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/objects.png"; category: EmojiCategory.Objects }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/symbols.png"; category: EmojiCategory.Symbols }
|
||||
ListElement { image: ":/icons/icons/emoji-categories/flags.png"; category: EmojiCategory.Flags }
|
||||
}
|
||||
|
||||
delegate: AbstractButton {
|
||||
Layout.preferredWidth: 36
|
||||
Layout.preferredHeight: 36
|
||||
|
||||
contentItem: Image {
|
||||
horizontalAlignment: Image.AlignHCenter
|
||||
verticalAlignment: Image.AlignVCenter
|
||||
fillMode: Image.Pad
|
||||
sourceSize.width: 32
|
||||
sourceSize.height: 32
|
||||
source: "image://colorimage/" + model.image + "?" + (hovered ? colors.highlight : colors.buttonText)
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
onPressed: mouse.accepted = false
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
anchors.fill: parent
|
||||
|
||||
color: emojiPopup.model.category === model.category ? Qt.hsla(highlightHue, highlightSat, highlightLight, 0.20) : 'transparent'
|
||||
radius: 5
|
||||
border.color: emojiPopup.model.category === model.category ? colors.highlight : 'transparent'
|
||||
}
|
||||
|
||||
hoverEnabled: true
|
||||
ToolTip.text: {
|
||||
switch (model.category) {
|
||||
case EmojiCategory.People:
|
||||
return qsTr('People');
|
||||
case EmojiCategory.Nature:
|
||||
return qsTr('Nature');
|
||||
case EmojiCategory.Food:
|
||||
return qsTr('Food');
|
||||
case EmojiCategory.Activity:
|
||||
return qsTr('Activity');
|
||||
case EmojiCategory.Travel:
|
||||
return qsTr('Travel');
|
||||
case EmojiCategory.Objects:
|
||||
return qsTr('Objects');
|
||||
case EmojiCategory.Symbols:
|
||||
return qsTr('Symbols');
|
||||
case EmojiCategory.Flags:
|
||||
return qsTr('Flags');
|
||||
}
|
||||
}
|
||||
ToolTip.visible: hovered
|
||||
|
||||
onClicked: {
|
||||
emojiPopup.model.category = model.category
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Separator
|
||||
Rectangle {
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: 1
|
||||
implicitWidth: 1
|
||||
height: parent.height
|
||||
|
||||
color: emojiPopup.colors.dark
|
||||
}
|
||||
|
||||
// Search Button is special
|
||||
AbstractButton {
|
||||
id: searchBtn
|
||||
hoverEnabled: true
|
||||
Layout.alignment: Qt.AlignRight
|
||||
Layout.bottomMargin: 0
|
||||
|
||||
ToolTip.text: qsTr("Search")
|
||||
ToolTip.visible: hovered
|
||||
onClicked: {
|
||||
// clear any filters
|
||||
emojiPopup.model.category = EmojiCategory.Search
|
||||
gridView.positionViewAtBeginning()
|
||||
emojiSearch.forceActiveFocus()
|
||||
}
|
||||
Layout.preferredWidth: 36
|
||||
Layout.preferredHeight: 36
|
||||
implicitWidth: 36
|
||||
implicitHeight: 36
|
||||
|
||||
contentItem: Image {
|
||||
anchors.right: parent.right
|
||||
horizontalAlignment: Image.AlignHCenter
|
||||
verticalAlignment: Image.AlignVCenter
|
||||
sourceSize.width: 32
|
||||
sourceSize.height: 32
|
||||
fillMode: Image.Pad
|
||||
smooth: true
|
||||
source: "image://colorimage/:/icons/icons/ui/search.png?" + (parent.hovered ? colors.highlight : colors.buttonText)
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
onPressed: mouse.accepted = false
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -22,6 +22,8 @@
|
|||
<file>icons/ui/checkmark@2x.png</file>
|
||||
<file>icons/ui/cursor.png</file>
|
||||
<file>icons/ui/cursor@2x.png</file>
|
||||
<file>icons/ui/search.png</file>
|
||||
<file>icons/ui/search@2x.png</file>
|
||||
<file>icons/ui/settings.png</file>
|
||||
<file>icons/ui/settings@2x.png</file>
|
||||
<file>icons/ui/smile.png</file>
|
||||
|
@ -122,6 +124,8 @@
|
|||
<file>qml/Reactions.qml</file>
|
||||
<file>qml/ScrollHelper.qml</file>
|
||||
<file>qml/TimelineRow.qml</file>
|
||||
<file>qml/emoji/EmojiButton.qml</file>
|
||||
<file>qml/emoji/EmojiPicker.qml</file>
|
||||
<file>qml/delegates/MessageDelegate.qml</file>
|
||||
<file>qml/delegates/TextMessage.qml</file>
|
||||
<file>qml/delegates/NoticeMessage.qml</file>
|
||||
|
|
|
@ -14,8 +14,9 @@ class Emoji(object):
|
|||
def generate_code(emojis, category):
|
||||
tmpl = Template('''
|
||||
const std::vector<Emoji> emoji::Provider::{{ category }} = {
|
||||
// {{ category.capitalize() }}
|
||||
{%- for e in emoji %}
|
||||
Emoji{QString::fromUtf8("{{ e.code }}"), "{{ e.shortname }}"},
|
||||
Emoji{QString::fromUtf8("{{ e.code }}"), "{{ e.shortname }}", emoji::EmojiCategory::{{ category.capitalize() }}},
|
||||
{%- endfor %}
|
||||
};
|
||||
''')
|
||||
|
@ -23,6 +24,19 @@ const std::vector<Emoji> emoji::Provider::{{ category }} = {
|
|||
d = dict(category=category, emoji=emojis)
|
||||
print(tmpl.render(d))
|
||||
|
||||
def generate_qml_list(**kwargs):
|
||||
tmpl = Template('''
|
||||
const QVector<Emoji> emoji::Provider::emoji = {
|
||||
{%- for c in kwargs.items() %}
|
||||
// {{ c[0].capitalize() }}
|
||||
{%- for e in c[1] %}
|
||||
Emoji{QString::fromUtf8("{{ e.code }}"), "{{ e.shortname }}", emoji::EmojiCategory::{{ c[0].capitalize() }}},
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
};
|
||||
''')
|
||||
d = dict(kwargs=kwargs)
|
||||
print(tmpl.render(d))
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 2:
|
||||
|
@ -87,3 +101,4 @@ if __name__ == '__main__':
|
|||
generate_code(objects, 'objects')
|
||||
generate_code(symbols, 'symbols')
|
||||
generate_code(flags, 'flags')
|
||||
generate_qml_list(people=people, nature=nature, food=food, activity=activity, travel=travel, objects=objects, symbols=symbols, flags=flags)
|
|
@ -9,19 +9,35 @@ set -eu
|
|||
INPUT=$1
|
||||
OUTPUT=nheko
|
||||
|
||||
filename=$(basename -- "$1")
|
||||
extension="${filename##*.}"
|
||||
|
||||
mkdir ${OUTPUT}.iconset
|
||||
|
||||
sips -z 16 16 "${INPUT}" --out ${OUTPUT}.iconset/icon_16x16.png
|
||||
sips -z 32 32 "${INPUT}" --out ${OUTPUT}.iconset/icon_16x16@2x.png
|
||||
sips -z 32 32 "${INPUT}" --out ${OUTPUT}.iconset/icon_32x32.png
|
||||
sips -z 64 64 "${INPUT}" --out ${OUTPUT}.iconset/icon_32x32@2x.png
|
||||
sips -z 128 128 "${INPUT}" --out ${OUTPUT}.iconset/icon_128x128.png
|
||||
sips -z 256 256 "${INPUT}" --out ${OUTPUT}.iconset/icon_128x128@2x.png
|
||||
sips -z 256 256 "${INPUT}" --out ${OUTPUT}.iconset/icon_256x256.png
|
||||
sips -z 512 512 "${INPUT}" --out ${OUTPUT}.iconset/icon_256x256@2x.png
|
||||
sips -z 512 512 "${INPUT}" --out ${OUTPUT}.iconset/icon_512x512.png
|
||||
if [ extension = "svg" ]; then
|
||||
rsvg-convert -h 16 "${INPUT}" > ${OUTPUT}.iconset/icon_16x16.png
|
||||
rsvg-convert -h 32 "${INPUT}" > ${OUTPUT}.iconset/icon_16x16@2x.png
|
||||
rsvg-convert -h 32 "${INPUT}" > ${OUTPUT}.iconset/icon_32x32.png
|
||||
rsvg-convert -h 64 "${INPUT}" > ${OUTPUT}.iconset/icon_32x32@2x.png
|
||||
rsvg-convert -h 128 "${INPUT}" > ${OUTPUT}.iconset/icon_128x128.png
|
||||
rsvg-convert -h 256 "${INPUT}" > ${OUTPUT}.iconset/icon_128x128@2x.png
|
||||
rsvg-convert -h 256 "${INPUT}" > ${OUTPUT}.iconset/icon_256x256.png
|
||||
rsvg-convert -h 512 "${INPUT}" > ${OUTPUT}.iconset/icon_256x256@2x.png
|
||||
rsvg-convert -h 512 "${INPUT}" > ${OUTPUT}.iconset/icon_512x512.png
|
||||
rsvg-convert -h 1024 "${INPUT}" > ${OUTPUT}.iconset/icon_512x512@2x.png
|
||||
else
|
||||
sips -z 16 16 "${INPUT}" --out ${OUTPUT}.iconset/icon_16x16.png
|
||||
sips -z 32 32 "${INPUT}" --out ${OUTPUT}.iconset/icon_16x16@2x.png
|
||||
sips -z 32 32 "${INPUT}" --out ${OUTPUT}.iconset/icon_32x32.png
|
||||
sips -z 64 64 "${INPUT}" --out ${OUTPUT}.iconset/icon_32x32@2x.png
|
||||
sips -z 128 128 "${INPUT}" --out ${OUTPUT}.iconset/icon_128x128.png
|
||||
sips -z 256 256 "${INPUT}" --out ${OUTPUT}.iconset/icon_128x128@2x.png
|
||||
sips -z 256 256 "${INPUT}" --out ${OUTPUT}.iconset/icon_256x256.png
|
||||
sips -z 512 512 "${INPUT}" --out ${OUTPUT}.iconset/icon_256x256@2x.png
|
||||
sips -z 512 512 "${INPUT}" --out ${OUTPUT}.iconset/icon_512x512.png
|
||||
|
||||
cp "${INPUT}" ${OUTPUT}.iconset/icon_512x512@2x.png
|
||||
cp "${INPUT}" ${OUTPUT}.iconset/icon_512x512@2x.png
|
||||
fi
|
||||
|
||||
iconutil -c icns ${OUTPUT}.iconset
|
||||
|
||||
|
|
|
@ -452,7 +452,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent)
|
|||
this, &ChatPage::updateGroupsInfo, communitiesList_, &CommunitiesList::setCommunities);
|
||||
|
||||
connect(this, &ChatPage::leftRoom, this, &ChatPage::removeRoom);
|
||||
connect(this, &ChatPage::notificationsRetrieved, this, &ChatPage::sendDesktopNotifications);
|
||||
connect(this, &ChatPage::notificationsRetrieved, this, &ChatPage::sendNotifications);
|
||||
connect(this,
|
||||
&ChatPage::highlightedNotifsRetrieved,
|
||||
this,
|
||||
|
@ -527,7 +527,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent)
|
|||
hasNotifications = true;
|
||||
}
|
||||
|
||||
if (hasNotifications && userSettings_->hasDesktopNotifications())
|
||||
if (hasNotifications && userSettings_->hasNotifications())
|
||||
http::client()->notifications(
|
||||
5,
|
||||
"",
|
||||
|
@ -885,7 +885,7 @@ ChatPage::updateRoomNotificationCount(const QString &room_id,
|
|||
}
|
||||
|
||||
void
|
||||
ChatPage::sendDesktopNotifications(const mtx::responses::Notifications &res)
|
||||
ChatPage::sendNotifications(const mtx::responses::Notifications &res)
|
||||
{
|
||||
for (const auto &item : res.notifications) {
|
||||
const auto event_id = mtx::accessors::event_id(item.event);
|
||||
|
@ -908,16 +908,23 @@ ChatPage::sendDesktopNotifications(const mtx::responses::Notifications &res)
|
|||
if (isRoomActive(room_id))
|
||||
continue;
|
||||
|
||||
notificationsManager.postNotification(
|
||||
room_id,
|
||||
QString::fromStdString(event_id),
|
||||
QString::fromStdString(cache::singleRoomInfo(item.room_id).name),
|
||||
cache::displayName(room_id, user_id),
|
||||
utils::event_body(item.event),
|
||||
cache::getRoomAvatar(room_id));
|
||||
if (userSettings_->hasAlertOnNotification()) {
|
||||
QApplication::alert(this);
|
||||
}
|
||||
|
||||
if (userSettings_->hasDesktopNotifications()) {
|
||||
notificationsManager.postNotification(
|
||||
room_id,
|
||||
QString::fromStdString(event_id),
|
||||
QString::fromStdString(
|
||||
cache::singleRoomInfo(item.room_id).name),
|
||||
cache::displayName(room_id, user_id),
|
||||
utils::event_body(item.event),
|
||||
cache::getRoomAvatar(room_id));
|
||||
}
|
||||
}
|
||||
} catch (const lmdb::error &e) {
|
||||
nhlog::db()->warn("error while sending desktop notification: {}", e.what());
|
||||
nhlog::db()->warn("error while sending notification: {}", e.what());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -212,7 +212,7 @@ private:
|
|||
uint16_t notification_count,
|
||||
uint16_t highlight_count);
|
||||
//! Send desktop notification for the received messages.
|
||||
void sendDesktopNotifications(const mtx::responses::Notifications &);
|
||||
void sendNotifications(const mtx::responses::Notifications &);
|
||||
|
||||
void showNotificationsDialog(const QPoint &point);
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ UserSettings::load()
|
|||
QSettings settings;
|
||||
tray_ = settings.value("user/window/tray", false).toBool();
|
||||
hasDesktopNotifications_ = settings.value("user/desktop_notifications", true).toBool();
|
||||
hasAlertOnNotification_ = settings.value("user/alert_on_notification", false).toBool();
|
||||
startInTray_ = settings.value("user/window/start_in_tray", false).toBool();
|
||||
groupView_ = settings.value("user/group_view", true).toBool();
|
||||
buttonsInTimeline_ = settings.value("user/timeline/buttons", true).toBool();
|
||||
|
@ -197,6 +198,16 @@ UserSettings::setDesktopNotifications(bool state)
|
|||
save();
|
||||
}
|
||||
|
||||
void
|
||||
UserSettings::setAlertOnNotification(bool state)
|
||||
{
|
||||
if (state == hasAlertOnNotification_)
|
||||
return;
|
||||
hasAlertOnNotification_ = state;
|
||||
emit alertOnNotificationChanged(state);
|
||||
save();
|
||||
}
|
||||
|
||||
void
|
||||
UserSettings::setAvatarCircles(bool state)
|
||||
{
|
||||
|
@ -348,6 +359,7 @@ UserSettings::save()
|
|||
settings.setValue("group_view", groupView_);
|
||||
settings.setValue("markdown_enabled", markdown_);
|
||||
settings.setValue("desktop_notifications", hasDesktopNotifications_);
|
||||
settings.setValue("alert_on_notification", hasAlertOnNotification_);
|
||||
settings.setValue("theme", theme());
|
||||
settings.setValue("font_family", font_);
|
||||
settings.setValue("emoji_font_family", emojiFont_);
|
||||
|
@ -416,6 +428,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
readReceipts_ = new Toggle{this};
|
||||
markdown_ = new Toggle{this};
|
||||
desktopNotifications_ = new Toggle{this};
|
||||
alertOnNotification_ = new Toggle{this};
|
||||
scaleFactorCombo_ = new QComboBox{this};
|
||||
fontSizeCombo_ = new QComboBox{this};
|
||||
fontSelectionCombo_ = new QComboBox{this};
|
||||
|
@ -569,6 +582,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
boxWrap(tr("Desktop notifications"),
|
||||
desktopNotifications_,
|
||||
tr("Notify about received message when the client is not currently focused."));
|
||||
boxWrap(tr("Alert on notification"),
|
||||
alertOnNotification_,
|
||||
tr("Show an alert when a message is received.\nThis usually causes the application "
|
||||
"icon in the task bar to animate in some fashion."));
|
||||
boxWrap(tr("Highlight message on hover"),
|
||||
messageHoverHighlight_,
|
||||
tr("Change the background color of messages when you hover over them."));
|
||||
|
@ -695,6 +712,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
settings_->setDesktopNotifications(!disabled);
|
||||
});
|
||||
|
||||
connect(alertOnNotification_, &Toggle::toggled, this, [this](bool disabled) {
|
||||
settings_->setAlertOnNotification(!disabled);
|
||||
});
|
||||
|
||||
connect(messageHoverHighlight_, &Toggle::toggled, this, [this](bool disabled) {
|
||||
settings_->setMessageHoverHighlight(!disabled);
|
||||
});
|
||||
|
@ -740,6 +761,7 @@ UserSettingsPage::showEvent(QShowEvent *)
|
|||
readReceipts_->setState(!settings_->readReceipts());
|
||||
markdown_->setState(!settings_->markdown());
|
||||
desktopNotifications_->setState(!settings_->hasDesktopNotifications());
|
||||
alertOnNotification_->setState(!settings_->hasAlertOnNotification());
|
||||
messageHoverHighlight_->setState(!settings_->messageHoverHighlight());
|
||||
enlargeEmojiOnlyMessages_->setState(!settings_->enlargeEmojiOnlyMessages());
|
||||
deviceIdValue_->setText(QString::fromStdString(http::client()->device_id()));
|
||||
|
|
|
@ -58,6 +58,8 @@ class UserSettings : public QObject
|
|||
bool readReceipts READ readReceipts WRITE setReadReceipts NOTIFY readReceiptsChanged)
|
||||
Q_PROPERTY(bool desktopNotifications READ hasDesktopNotifications WRITE
|
||||
setDesktopNotifications NOTIFY desktopNotificationsChanged)
|
||||
Q_PROPERTY(bool alertOnNotification READ hasAlertOnNotification WRITE setAlertOnNotification
|
||||
NOTIFY alertOnNotificationChanged)
|
||||
Q_PROPERTY(
|
||||
bool avatarCircles READ avatarCircles WRITE setAvatarCircles NOTIFY avatarCirclesChanged)
|
||||
Q_PROPERTY(bool decryptSidebar READ decryptSidebar WRITE setDecryptSidebar NOTIFY
|
||||
|
@ -101,6 +103,7 @@ public:
|
|||
void setButtonsInTimeline(bool state);
|
||||
void setTimelineMaxWidth(int state);
|
||||
void setDesktopNotifications(bool state);
|
||||
void setAlertOnNotification(bool state);
|
||||
void setAvatarCircles(bool state);
|
||||
void setDecryptSidebar(bool state);
|
||||
void setPresence(Presence state);
|
||||
|
@ -119,6 +122,11 @@ public:
|
|||
bool buttonsInTimeline() const { return buttonsInTimeline_; }
|
||||
bool readReceipts() const { return readReceipts_; }
|
||||
bool hasDesktopNotifications() const { return hasDesktopNotifications_; }
|
||||
bool hasAlertOnNotification() const { return hasAlertOnNotification_; }
|
||||
bool hasNotifications() const
|
||||
{
|
||||
return hasDesktopNotifications() || hasAlertOnNotification();
|
||||
}
|
||||
int timelineMaxWidth() const { return timelineMaxWidth_; }
|
||||
double fontSize() const { return baseFontSize_; }
|
||||
QString font() const { return font_; }
|
||||
|
@ -138,6 +146,7 @@ signals:
|
|||
void buttonInTimelineChanged(bool state);
|
||||
void readReceiptsChanged(bool state);
|
||||
void desktopNotificationsChanged(bool state);
|
||||
void alertOnNotificationChanged(bool state);
|
||||
void avatarCirclesChanged(bool state);
|
||||
void decryptSidebarChanged(bool state);
|
||||
void timelineMaxWidthChanged(int state);
|
||||
|
@ -164,6 +173,7 @@ private:
|
|||
bool buttonsInTimeline_;
|
||||
bool readReceipts_;
|
||||
bool hasDesktopNotifications_;
|
||||
bool hasAlertOnNotification_;
|
||||
bool avatarCircles_;
|
||||
bool decryptSidebar_;
|
||||
int timelineMaxWidth_;
|
||||
|
@ -222,6 +232,7 @@ private:
|
|||
Toggle *readReceipts_;
|
||||
Toggle *markdown_;
|
||||
Toggle *desktopNotifications_;
|
||||
Toggle *alertOnNotification_;
|
||||
Toggle *avatarCircles_;
|
||||
Toggle *decryptSidebar_;
|
||||
QLabel *deviceFingerprintValue_;
|
||||
|
|
110
src/emoji/EmojiModel.cpp
Normal file
110
src/emoji/EmojiModel.cpp
Normal file
|
@ -0,0 +1,110 @@
|
|||
#include "EmojiModel.h"
|
||||
|
||||
#include <Cache.h>
|
||||
#include <MatrixClient.h>
|
||||
|
||||
using namespace emoji;
|
||||
|
||||
QHash<int, QByteArray>
|
||||
EmojiModel::roleNames() const
|
||||
{
|
||||
static QHash<int, QByteArray> roles;
|
||||
|
||||
if (roles.isEmpty()) {
|
||||
roles = QAbstractListModel::roleNames();
|
||||
roles[static_cast<int>(EmojiModel::Roles::Unicode)] = QByteArrayLiteral("unicode");
|
||||
roles[static_cast<int>(EmojiModel::Roles::ShortName)] =
|
||||
QByteArrayLiteral("shortName");
|
||||
roles[static_cast<int>(EmojiModel::Roles::Category)] =
|
||||
QByteArrayLiteral("category");
|
||||
roles[static_cast<int>(EmojiModel::Roles::Emoji)] = QByteArrayLiteral("emoji");
|
||||
}
|
||||
|
||||
return roles;
|
||||
}
|
||||
|
||||
int
|
||||
EmojiModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
return parent == QModelIndex() ? Provider::emoji.count() : 0;
|
||||
}
|
||||
|
||||
QVariant
|
||||
EmojiModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (hasIndex(index.row(), index.column(), index.parent())) {
|
||||
switch (role) {
|
||||
case Qt::DisplayRole:
|
||||
case static_cast<int>(EmojiModel::Roles::Unicode):
|
||||
return Provider::emoji[index.row()].unicode;
|
||||
|
||||
case Qt::ToolTipRole:
|
||||
case static_cast<int>(EmojiModel::Roles::ShortName):
|
||||
return Provider::emoji[index.row()].shortName;
|
||||
|
||||
case static_cast<int>(EmojiModel::Roles::Category):
|
||||
return QVariant::fromValue(Provider::emoji[index.row()].category);
|
||||
|
||||
case static_cast<int>(EmojiModel::Roles::Emoji):
|
||||
return QVariant::fromValue(Provider::emoji[index.row()]);
|
||||
}
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
EmojiProxyModel::EmojiProxyModel(QObject *parent)
|
||||
: QSortFilterProxyModel(parent)
|
||||
{}
|
||||
|
||||
EmojiProxyModel::~EmojiProxyModel() {}
|
||||
|
||||
EmojiCategory
|
||||
EmojiProxyModel::category() const
|
||||
{
|
||||
return category_;
|
||||
}
|
||||
|
||||
void
|
||||
EmojiProxyModel::setCategory(EmojiCategory cat)
|
||||
{
|
||||
if (category_ == cat) {
|
||||
return;
|
||||
}
|
||||
|
||||
category_ = cat;
|
||||
emit categoryChanged();
|
||||
|
||||
invalidateFilter();
|
||||
}
|
||||
|
||||
QString
|
||||
EmojiProxyModel::filter() const
|
||||
{
|
||||
return filterRegExp().pattern();
|
||||
}
|
||||
|
||||
void
|
||||
EmojiProxyModel::setFilter(const QString &filter)
|
||||
{
|
||||
if (filterRegExp().pattern() == filter) {
|
||||
return;
|
||||
}
|
||||
|
||||
setFilterWildcard(filter);
|
||||
emit filterChanged();
|
||||
}
|
||||
|
||||
bool
|
||||
EmojiProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
|
||||
{
|
||||
const QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
|
||||
const Emoji emoji = index.data(static_cast<int>(EmojiModel::Roles::Emoji)).value<Emoji>();
|
||||
|
||||
// TODO: Add favorites / recently used
|
||||
if (category_ != EmojiCategory::Search) {
|
||||
return emoji.category == category_;
|
||||
}
|
||||
|
||||
return filterRegExp().isEmpty() ? true : filterRegExp().indexIn(emoji.shortName) != -1;
|
||||
}
|
64
src/emoji/EmojiModel.h
Normal file
64
src/emoji/EmojiModel.h
Normal file
|
@ -0,0 +1,64 @@
|
|||
#pragma once
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QSet>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QVector>
|
||||
|
||||
#include "Provider.h"
|
||||
|
||||
namespace emoji {
|
||||
|
||||
/*
|
||||
* Provides access to the emojis in Provider.h to QML
|
||||
*/
|
||||
class EmojiModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum Roles
|
||||
{
|
||||
Unicode = Qt::UserRole, // unicode of emoji
|
||||
Category, // category of emoji
|
||||
ShortName, // shortext of the emoji
|
||||
Emoji, // Contains everything from the Emoji
|
||||
};
|
||||
|
||||
using QAbstractListModel::QAbstractListModel;
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
};
|
||||
|
||||
class EmojiProxyModel : public QSortFilterProxyModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(
|
||||
emoji::EmojiCategory category READ category WRITE setCategory NOTIFY categoryChanged)
|
||||
Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged)
|
||||
|
||||
public:
|
||||
explicit EmojiProxyModel(QObject *parent = nullptr);
|
||||
~EmojiProxyModel() override;
|
||||
|
||||
EmojiCategory category() const;
|
||||
void setCategory(EmojiCategory cat);
|
||||
|
||||
QString filter() const;
|
||||
void setFilter(const QString &filter);
|
||||
|
||||
signals:
|
||||
void categoryChanged();
|
||||
void filterChanged();
|
||||
|
||||
protected:
|
||||
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
|
||||
|
||||
private:
|
||||
EmojiCategory category_ = EmojiCategory::Search;
|
||||
emoji::Provider emoji_provider_;
|
||||
};
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -17,22 +17,48 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QSet>
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
#include <vector>
|
||||
|
||||
namespace emoji {
|
||||
Q_NAMESPACE
|
||||
|
||||
enum class EmojiCategory
|
||||
{
|
||||
People,
|
||||
Nature,
|
||||
Food,
|
||||
Activity,
|
||||
Travel,
|
||||
Objects,
|
||||
Symbols,
|
||||
Flags,
|
||||
Search
|
||||
};
|
||||
Q_ENUM_NS(EmojiCategory)
|
||||
|
||||
struct Emoji
|
||||
{
|
||||
// Unicode code.
|
||||
Q_GADGET
|
||||
|
||||
Q_PROPERTY(const QString &unicode MEMBER unicode)
|
||||
Q_PROPERTY(const QString &shortName MEMBER shortName)
|
||||
Q_PROPERTY(emoji::EmojiCategory category MEMBER category)
|
||||
|
||||
public:
|
||||
QString unicode;
|
||||
// Keyboard shortcut e.g :emoji:
|
||||
QString shortname;
|
||||
QString shortName;
|
||||
EmojiCategory category;
|
||||
};
|
||||
|
||||
class Provider
|
||||
{
|
||||
public:
|
||||
// all emoji for QML purposes
|
||||
static const QVector<Emoji> emoji;
|
||||
static const std::vector<Emoji> people;
|
||||
static const std::vector<Emoji> nature;
|
||||
static const std::vector<Emoji> food;
|
||||
|
@ -42,4 +68,6 @@ public:
|
|||
static const std::vector<Emoji> symbols;
|
||||
static const std::vector<Emoji> flags;
|
||||
};
|
||||
|
||||
} // namespace emoji
|
||||
Q_DECLARE_METATYPE(emoji::Emoji)
|
||||
|
|
7701
src/emoji/Provider_new.cpp
Normal file
7701
src/emoji/Provider_new.cpp
Normal file
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ ReactionsModel::roleNames() const
|
|||
{Key, "key"},
|
||||
{Count, "counter"},
|
||||
{Users, "users"},
|
||||
{SelfReacted, "selfReacted"},
|
||||
{SelfReactedEvent, "selfReactedEvent"},
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -45,11 +45,11 @@ ReactionsModel::data(const QModelIndex &index, int role) const
|
|||
}
|
||||
return users;
|
||||
}
|
||||
case SelfReacted:
|
||||
case SelfReactedEvent:
|
||||
for (const auto &reaction : reactions[i].reactions)
|
||||
if (reaction.second.sender == http::client()->user_id().to_string())
|
||||
return true;
|
||||
return false;
|
||||
return QString::fromStdString(reaction.second.event_id);
|
||||
return QStringLiteral("");
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ public:
|
|||
Key,
|
||||
Count,
|
||||
Users,
|
||||
SelfReacted,
|
||||
SelfReactedEvent,
|
||||
};
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
|
|
@ -154,13 +154,25 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj
|
|||
connect(this, &TimelineModel::messageSent, this, [this](QString txn_id, QString event_id) {
|
||||
pending.removeOne(txn_id);
|
||||
|
||||
auto ev = events.value(txn_id);
|
||||
|
||||
if (auto reaction =
|
||||
std::get_if<mtx::events::RoomEvent<mtx::events::msg::Reaction>>(&ev)) {
|
||||
QString reactedTo =
|
||||
QString::fromStdString(reaction->content.relates_to.event_id);
|
||||
auto &rModel = reactions[reactedTo];
|
||||
rModel.removeReaction(*reaction);
|
||||
auto rCopy = *reaction;
|
||||
rCopy.event_id = event_id.toStdString();
|
||||
rModel.addReaction(room_id_.toStdString(), rCopy);
|
||||
}
|
||||
|
||||
int idx = idToIndex(txn_id);
|
||||
if (idx < 0) {
|
||||
// transaction already received via sync
|
||||
return;
|
||||
}
|
||||
eventOrder[idx] = event_id;
|
||||
auto ev = events.value(txn_id);
|
||||
ev = std::visit(
|
||||
[event_id](const auto &e) -> mtx::events::collections::TimelineEvents {
|
||||
auto eventCopy = e;
|
||||
|
@ -379,7 +391,7 @@ TimelineModel::data(const QString &id, int role) const
|
|||
else
|
||||
return {};
|
||||
case RoomId:
|
||||
return QVariant(QString::fromStdString(room_id(event)));
|
||||
return QVariant(room_id_);
|
||||
case RoomName:
|
||||
return QVariant(QString::fromStdString(room_name(event)));
|
||||
case RoomTopic:
|
||||
|
@ -683,6 +695,14 @@ TimelineModel::internalAddEvents(
|
|||
QString reactedTo =
|
||||
QString::fromStdString(reaction->content.relates_to.event_id);
|
||||
events.insert(id, e);
|
||||
|
||||
// remove local echo
|
||||
if (!txid.isEmpty()) {
|
||||
auto rCopy = *reaction;
|
||||
rCopy.event_id = txid.toStdString();
|
||||
reactions[reactedTo].removeReaction(rCopy);
|
||||
}
|
||||
|
||||
reactions[reactedTo].addReaction(room_id_.toStdString(), *reaction);
|
||||
int idx = idToIndex(reactedTo);
|
||||
if (idx >= 0)
|
||||
|
@ -1355,10 +1375,11 @@ struct SendMessageVisitor
|
|||
, model_(model)
|
||||
{}
|
||||
|
||||
// Do-nothing operator for all unhandled events
|
||||
template<typename T>
|
||||
void operator()(const mtx::events::Event<T> &)
|
||||
{}
|
||||
|
||||
// Operator for m.room.message events that contain a msgtype in their content
|
||||
template<typename T,
|
||||
std::enable_if_t<std::is_same<decltype(T::msgtype), std::string>::value, int> = 0>
|
||||
void operator()(const mtx::events::RoomEvent<T> &msg)
|
||||
|
@ -1395,6 +1416,36 @@ struct SendMessageVisitor
|
|||
}
|
||||
}
|
||||
|
||||
// Special operator for reactions, which are a type of m.room.message, but need to be
|
||||
// handled distinctly for their differences from normal room messages. Specifically,
|
||||
// reactions need to have the relation outside of ciphertext, or synapse / the homeserver
|
||||
// cannot handle it correctly. See the MSC for more details:
|
||||
// https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md#end-to-end-encryption
|
||||
void operator()(const mtx::events::RoomEvent<mtx::events::msg::Reaction> &msg)
|
||||
|
||||
{
|
||||
QString txn_id_qstr = txn_id_qstr_;
|
||||
TimelineModel *model = model_;
|
||||
http::client()
|
||||
->send_room_message<mtx::events::msg::Reaction, mtx::events::EventType::Reaction>(
|
||||
model->room_id_.toStdString(),
|
||||
txn_id_qstr.toStdString(),
|
||||
msg.content,
|
||||
[txn_id_qstr, model](const mtx::responses::EventId &res,
|
||||
mtx::http::RequestErr err) {
|
||||
if (err) {
|
||||
const int status_code = static_cast<int>(err->status_code);
|
||||
nhlog::net()->warn("[{}] failed to send message: {} {}",
|
||||
txn_id_qstr.toStdString(),
|
||||
err->matrix_error.error,
|
||||
status_code);
|
||||
emit model->messageFailed(txn_id_qstr);
|
||||
}
|
||||
emit model->messageSent(
|
||||
txn_id_qstr, QString::fromStdString(res.event_id.to_string()));
|
||||
});
|
||||
}
|
||||
|
||||
QString txn_id_qstr_;
|
||||
TimelineModel *model_;
|
||||
};
|
||||
|
@ -1426,10 +1477,12 @@ TimelineModel::addPendingMessage(mtx::events::collections::TimelineEvents event)
|
|||
internalAddEvents({event});
|
||||
|
||||
QString txn_id_qstr = QString::fromStdString(mtx::accessors::event_id(event));
|
||||
beginInsertRows(QModelIndex(), 0, 0);
|
||||
pending.push_back(txn_id_qstr);
|
||||
this->eventOrder.insert(this->eventOrder.begin(), txn_id_qstr);
|
||||
endInsertRows();
|
||||
if (!std::get_if<mtx::events::RoomEvent<mtx::events::msg::Reaction>>(&event)) {
|
||||
beginInsertRows(QModelIndex(), 0, 0);
|
||||
this->eventOrder.insert(this->eventOrder.begin(), txn_id_qstr);
|
||||
endInsertRows();
|
||||
}
|
||||
updateLastMessage();
|
||||
|
||||
emit nextPendingMessage();
|
||||
|
|
|
@ -217,7 +217,6 @@ public slots:
|
|||
}
|
||||
std::vector<QString> typingUsers() const { return typingUsers_; }
|
||||
bool paginationInProgress() const { return m_paginationInProgress; }
|
||||
|
||||
QString reply() const { return reply_; }
|
||||
void setReply(QString newReply)
|
||||
{
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include "MxcImageProvider.h"
|
||||
#include "UserSettingsPage.h"
|
||||
#include "dialogs/ImageOverlay.h"
|
||||
#include "emoji/EmojiModel.h"
|
||||
#include "emoji/Provider.h"
|
||||
|
||||
Q_DECLARE_METATYPE(mtx::events::collections::TimelineEvents)
|
||||
|
||||
|
@ -84,6 +86,18 @@ TimelineViewManager::TimelineViewManager(QSharedPointer<UserSettings> userSettin
|
|||
qmlRegisterType<DelegateChoice>("im.nheko", 1, 0, "DelegateChoice");
|
||||
qmlRegisterType<DelegateChooser>("im.nheko", 1, 0, "DelegateChooser");
|
||||
qRegisterMetaType<mtx::events::collections::TimelineEvents>();
|
||||
qmlRegisterType<emoji::EmojiModel>("im.nheko.EmojiModel", 1, 0, "EmojiModel");
|
||||
qmlRegisterType<emoji::EmojiProxyModel>("im.nheko.EmojiModel", 1, 0, "EmojiProxyModel");
|
||||
qmlRegisterUncreatableType<QAbstractItemModel>(
|
||||
"im.nheko.EmojiModel", 1, 0, "QAbstractItemModel", "Used by proxy models");
|
||||
qmlRegisterUncreatableType<emoji::Emoji>(
|
||||
"im.nheko.EmojiModel", 1, 0, "Emoji", "Used by emoji models");
|
||||
qmlRegisterUncreatableMetaObject(emoji::staticMetaObject,
|
||||
"im.nheko.EmojiModel",
|
||||
1,
|
||||
0,
|
||||
"EmojiCategory",
|
||||
"Error: Only enums");
|
||||
|
||||
#ifdef USE_QUICK_VIEW
|
||||
view = new QQuickView();
|
||||
|
@ -295,6 +309,36 @@ TimelineViewManager::queueEmoteMessage(const QString &msg)
|
|||
timeline_->sendMessage(emote);
|
||||
}
|
||||
|
||||
void
|
||||
TimelineViewManager::reactToMessage(const QString &roomId,
|
||||
const QString &reactedEvent,
|
||||
const QString &reactionKey,
|
||||
const QString &selfReactedEvent)
|
||||
{
|
||||
// If selfReactedEvent is empty, that means we haven't previously reacted
|
||||
if (selfReactedEvent.isEmpty()) {
|
||||
queueReactionMessage(roomId, reactedEvent, reactionKey);
|
||||
// Otherwise, we have previously reacted and the reaction should be redacted
|
||||
} else {
|
||||
auto model = models.value(roomId);
|
||||
model->redactEvent(selfReactedEvent);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
TimelineViewManager::queueReactionMessage(const QString &roomId,
|
||||
const QString &reactedEvent,
|
||||
const QString &reactionKey)
|
||||
{
|
||||
mtx::events::msg::Reaction reaction;
|
||||
reaction.relates_to.rel_type = mtx::common::RelationType::Annotation;
|
||||
reaction.relates_to.event_id = reactedEvent.toStdString();
|
||||
reaction.relates_to.key = reactionKey.toStdString();
|
||||
|
||||
auto model = models.value(roomId);
|
||||
model->sendMessage(reaction);
|
||||
}
|
||||
|
||||
void
|
||||
TimelineViewManager::queueImageMessage(const QString &roomid,
|
||||
const QString &filename,
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <QHash>
|
||||
#include <QQuickView>
|
||||
#include <QQuickWidget>
|
||||
#include <QSharedPointer>
|
||||
|
@ -12,6 +13,8 @@
|
|||
#include "Logging.h"
|
||||
#include "TimelineModel.h"
|
||||
#include "Utils.h"
|
||||
#include "emoji/EmojiModel.h"
|
||||
#include "emoji/Provider.h"
|
||||
|
||||
class MxcImageProvider;
|
||||
class BlurhashProvider;
|
||||
|
@ -58,7 +61,13 @@ public slots:
|
|||
|
||||
void setHistoryView(const QString &room_id);
|
||||
void updateColorPalette();
|
||||
|
||||
void queueReactionMessage(const QString &roomId,
|
||||
const QString &reactedEvent,
|
||||
const QString &reaction);
|
||||
void reactToMessage(const QString &roomId,
|
||||
const QString &reactedEvent,
|
||||
const QString &reactionKey,
|
||||
const QString &selfReactedEvent);
|
||||
void queueTextMessage(const QString &msg);
|
||||
void queueEmoteMessage(const QString &msg);
|
||||
void queueImageMessage(const QString &roomid,
|
||||
|
@ -103,7 +112,8 @@ private:
|
|||
|
||||
QHash<QString, QSharedPointer<TimelineModel>> models;
|
||||
TimelineModel *timeline_ = nullptr;
|
||||
bool isInitialSync_ = true;
|
||||
|
||||
bool isInitialSync_ = true;
|
||||
|
||||
QSharedPointer<UserSettings> settings;
|
||||
QHash<QString, QColor> userColors;
|
||||
|
|
Loading…
Reference in a new issue