summary refs log tree commit diff
diff options
context:
space:
mode:
authorDeepBlueV7.X <nicolas.werner@hotmail.de>2021-02-03 03:17:28 +0100
committerGitHub <noreply@github.com>2021-02-03 03:17:28 +0100
commita7150b566631df39d154a968d04b19af324b3815 (patch)
treefb8ecf83dadec49096bb06c01684a53ea980d17e
parentfixed global avatar updation in the dialog (diff)
parentCleanup privacy screen, no more grabImage (diff)
downloadnheko-a7150b566631df39d154a968d04b19af324b3815.tar.xz
Merge branch 'master' into avatar_username_feature
-rwxr-xr-x.ci/format.sh13
-rw-r--r--CHANGELOG.md38
-rw-r--r--CMakeLists.txt6
-rw-r--r--README.md4
-rw-r--r--appveyor.yml10
-rw-r--r--io.github.NhekoReborn.Nheko.json3
-rw-r--r--resources/langs/nheko_cs.ts79
-rw-r--r--resources/langs/nheko_de.ts81
-rw-r--r--resources/langs/nheko_el.ts79
-rw-r--r--resources/langs/nheko_en.ts81
-rw-r--r--resources/langs/nheko_eo.ts79
-rw-r--r--resources/langs/nheko_et.ts81
-rw-r--r--resources/langs/nheko_fi.ts79
-rw-r--r--resources/langs/nheko_fr.ts79
-rw-r--r--resources/langs/nheko_hu.ts375
-rw-r--r--resources/langs/nheko_it.ts79
-rw-r--r--resources/langs/nheko_ja.ts79
-rw-r--r--resources/langs/nheko_ml.ts117
-rw-r--r--resources/langs/nheko_nl.ts81
-rw-r--r--resources/langs/nheko_pl.ts79
-rw-r--r--resources/langs/nheko_pt_PT.ts79
-rw-r--r--resources/langs/nheko_ro.ts79
-rw-r--r--resources/langs/nheko_ru.ts91
-rw-r--r--resources/langs/nheko_si.ts79
-rw-r--r--resources/langs/nheko_sv.ts79
-rw-r--r--resources/langs/nheko_zh_CN.ts79
-rw-r--r--resources/nheko.appdata.xml1
-rw-r--r--resources/qml/Completer.qml3
-rw-r--r--resources/qml/MessageInput.qml16
-rw-r--r--resources/qml/PrivacyScreen.qml126
-rw-r--r--resources/qml/TimelineRow.qml2
-rw-r--r--resources/qml/TimelineView.qml16
-rw-r--r--resources/qml/UserProfile.qml24
-rw-r--r--resources/res.qrc1
-rw-r--r--src/ChatPage.cpp2
-rw-r--r--src/ChatPage.h2
-rw-r--r--src/LoginPage.cpp14
-rw-r--r--src/MainWindow.cpp20
-rw-r--r--src/MainWindow.h11
-rw-r--r--src/UserSettingsPage.cpp79
-rw-r--r--src/UserSettingsPage.h14
-rw-r--r--src/Utils.cpp3
-rw-r--r--src/timeline/EventStore.cpp10
-rw-r--r--src/timeline/TimelineViewManager.cpp4
-rw-r--r--src/timeline/TimelineViewManager.h14
-rw-r--r--src/ui/UserProfile.cpp4
46 files changed, 1742 insertions, 632 deletions
diff --git a/.ci/format.sh b/.ci/format.sh

index e1e6c1e4..cdbc0464 100755 --- a/.ci/format.sh +++ b/.ci/format.sh
@@ -14,4 +14,17 @@ do clang-format -i "$f" done; +QMLFORMAT_PATH=$(command -v qmlformat || true) + +if [ -n "$QMLFORMAT_PATH" ]; then + QML_FILES=$(find resources -type f -iname "*.qml") + + for f in $QML_FILES + do + $QMLFORMAT_PATH -i "$f" + done; +else + echo "qmlformat not found; skipping qml formatting" +fi + git diff --exit-code diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f84fece..027f1f08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -1,5 +1,43 @@ # Changelog +## [0.8.1] -- 2021-01-27 + +### Features + +- `/plain` and `/md` commands to override the current markdown setting. (contributed by lorendb) +- Allow persistent hiding of rooms with a specific tag (or from a community) via a context menu. +- Allow open media messages in an external program immediately. (contributed by rnhmjoj) + +### Improvements + +- Use async dbus connection for notifications. (contributed by lorendb) +- Update Hungarian translations. (contributed by maxigaz) +- Update Finnish translations. (contributed by Priit) +- Update Malayalam translations. (contributed by vachan-maker) +- Update Dutch translations. (contributed by Glael) +- Store splitter size across restarts. +- Add a border around the completer. (contributed by lorendb) +- Request keys for messages with unknown message indices (once per restart, when they are shown). +- Move the database location to XDG_DATA_DIR. (contributed by rnhmjoj) +- Reload the timeline after key backup import. +- Autoclose completer on `space`, when there are no matches. +- Make completer only react, when the mouse cursor is moved. + +### Bugfixes + +- Fix unhandled exception, when a device has no keys. +- Fix some cmake warnings regarding GNUInstallDirs. +- Fix tags being broken. If you have no tags showing up, you may want to logout and login again. +- Fix versionOk being called on the wrong thread. (contributed by Jedi18) +- Fix font tags showing up in media message filenames. +- Fix user profile in dark themes showing the wrong colors. (contributed by lorendb) +- Fix emoji category switching on old Qt versions. (contributed by lorendb) +- Fix old messages being replayed after a limited timeline. +- Fix empty secrets being returned from the wallet breaking verification. +- Make matrix link chat invites create a direct chat. +- Fix focus handling on room change or reply button clicks. +- Fix username completion deleting the character before it. + ## [0.8.0] -- 2021-01-21 ### Highlights diff --git a/CMakeLists.txt b/CMakeLists.txt
index d93fb184..c9e29998 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -81,7 +81,7 @@ include(GNUInstallDirs) set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "8") -set(CPACK_PACKAGE_VERSION_PATCH "0") +set(CPACK_PACKAGE_VERSION_PATCH "1") set(PROJECT_VERSION_MAJOR ${CPACK_PACKAGE_VERSION_MAJOR}) set(PROJECT_VERSION_MINOR ${CPACK_PACKAGE_VERSION_MINOR}) set(PROJECT_VERSION_PATCH ${CPACK_PACKAGE_VERSION_PATCH}) @@ -355,13 +355,13 @@ if(USE_BUNDLED_MTXCLIENT) FetchContent_Declare( MatrixClient GIT_REPOSITORY https://github.com/Nheko-Reborn/mtxclient.git - GIT_TAG 1e97d3195d366a15a086ca451d082d59972105ba + GIT_TAG v0.4.1 ) set(BUILD_LIB_EXAMPLES OFF CACHE INTERNAL "") set(BUILD_LIB_TESTS OFF CACHE INTERNAL "") FetchContent_MakeAvailable(MatrixClient) else() - find_package(MatrixClient 0.4.0 REQUIRED) + find_package(MatrixClient 0.4.1 REQUIRED) endif() if(USE_BUNDLED_OLM) include(FetchContent) diff --git a/README.md b/README.md
index a1936ed4..be7d076f 100644 --- a/README.md +++ b/README.md
@@ -2,7 +2,7 @@ nheko ---- [![Build Status](https://nheko.im/nheko-reborn/nheko/badges/master/pipeline.svg)](https://nheko.im/nheko-reborn/nheko/-/pipelines/latest) [![Build status](https://ci.appveyor.com/api/projects/status/07qrqbfylsg4hw2h/branch/master?svg=true)](https://ci.appveyor.com/project/redsky17/nheko/branch/master) -[![Stable Version](https://img.shields.io/badge/download-stable-green.svg)](https://github.com/Nheko-Reborn/nheko/releases/v0.8.0) +[![Stable Version](https://img.shields.io/badge/download-stable-green.svg)](https://github.com/Nheko-Reborn/nheko/releases/v0.8.1) [![Nightly](https://img.shields.io/badge/download-nightly-green.svg)](https://matrix-static.neko.dev/room/!TshDrgpBNBDmfDeEGN:neko.dev/) [![#nheko-reborn:matrix.org](https://img.shields.io/matrix/nheko-reborn:matrix.org.svg?label=%23nheko-reborn:matrix.org)](https://matrix.to/#/#nheko-reborn:matrix.org) [![AUR: nheko](https://img.shields.io/badge/AUR-nheko-blue.svg)](https://aur.archlinux.org/packages/nheko) @@ -74,7 +74,7 @@ sudo dnf install nheko #### Gentoo Linux ```bash -sudo eselect repository enable matrix +sudo eselect repository enable guru sudo emerge -a nheko ``` diff --git a/appveyor.yml b/appveyor.yml
index 87d80d2a..8d1e71a5 100644 --- a/appveyor.yml +++ b/appveyor.yml
@@ -30,8 +30,8 @@ build_script: # VERSION format: branch-master/branch-1.2 # INSTVERSION format: x.y.z # WINVERSION format: 9999.0.0.123/1.2.0.234 - - if "%APPVEYOR_REPO_TAG%"=="false" set INSTVERSION=0.8.0 - - if "%APPVEYOR_REPO_TAG%"=="false" set VERSION=0.8.0 + - if "%APPVEYOR_REPO_TAG%"=="false" set INSTVERSION=0.8.1 + - if "%APPVEYOR_REPO_TAG%"=="false" set VERSION=0.8.1 - if "%APPVEYOR_REPO_TAG%"=="false" if "%APPVEYOR_REPO_BRANCH%"=="master" set INSTVERSION=9999.0 - if "%APPVEYOR_REPO_TAG%"=="false" set WINVERSION=%INSTVERSION%.0.%APPVEYOR_BUILD_NUMBER% # VERSION format: v1.2.3/v1.3.4 @@ -90,9 +90,9 @@ after_build: - copy %BUILD%\deploy\installer\cleanup\package.xml installer\packages\io.github.nhekoreborn.nheko.cleanup\meta - copy %BUILD%\deploy\installer\cleanup\installscript.qs installer\packages\io.github.nhekoreborn.nheko.cleanup\meta # Amend version and date - - sed -i "s/__VERSION__/0.8.0/" installer\config\config.xml - - sed -i "s/__VERSION__/0.8.0/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml - - sed -i "s/__VERSION__/0.8.0/" installer\packages\io.github.nhekoreborn.nheko.cleanup\meta\package.xml + - sed -i "s/__VERSION__/0.8.1/" installer\config\config.xml + - sed -i "s/__VERSION__/0.8.1/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml + - sed -i "s/__VERSION__/0.8.1/" installer\packages\io.github.nhekoreborn.nheko.cleanup\meta\package.xml - sed -i "s/__DATE__/%DATE%/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml - sed -i "s/__DATE__/%DATE%/" installer\packages\io.github.nhekoreborn.nheko.cleanup\meta\package.xml # Copy nheko data diff --git a/io.github.NhekoReborn.Nheko.json b/io.github.NhekoReborn.Nheko.json
index fb921f65..e6eeb123 100644 --- a/io.github.NhekoReborn.Nheko.json +++ b/io.github.NhekoReborn.Nheko.json
@@ -220,7 +220,8 @@ "name": "mtxclient", "sources": [ { - "commit": "1e97d3195d366a15a086ca451d082d59972105ba", + "commit": "4951190c938740defa0988d98d5e861038622936", + "tag": "v0.4.1", "type": "git", "url": "https://github.com/Nheko-Reborn/mtxclient.git" } diff --git a/resources/langs/nheko_cs.ts b/resources/langs/nheko_cs.ts
index 9010c704..22bbd88b 100644 --- a/resources/langs/nheko_cs.ts +++ b/resources/langs/nheko_cs.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation type="unfinished"></translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation type="unfinished"></translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation type="unfinished"></translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished"></translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1266,12 +1300,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1353,6 +1387,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1464,7 +1503,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1487,7 +1526,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_de.ts b/resources/langs/nheko_de.ts
index 48909ba2..9b827a91 100644 --- a/resources/langs/nheko_de.ts +++ b/resources/langs/nheko_de.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Du bist dem Raum beigetreten.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Eingeladener Benutzer: %1</translation> </message> @@ -274,13 +274,18 @@ <message> <location line="+54"/> <source>Failed to kick %1 from %2: %3</source> - <translation type="unfinished"></translation> + <translation>Kontte %1 nicht aus %2 entfernen: %3</translation> </message> </context> <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation>Verstecke Räume mit diesem Tag oder aus dieser Community</translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Alle Räume</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Verschlüsseltes Event (keine Schlüssel zur Entschlüsselung gefunden) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation>-- Verschlüsseltes Event (Schlüssel passt nicht für diesen Nachrichtenindex) --</translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Alle Dateien (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Medienupload fehlgeschlagen. Bitte versuche es erneut.</translation> </message> @@ -599,7 +610,12 @@ Wenn Nheko deinen Server nicht automatisch erkennen kann, wird es dich nach dem <translation>Passwort</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation>Dein Passwort.</translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Gerätename</translation> </message> @@ -609,7 +625,17 @@ Wenn Nheko deinen Server nicht automatisch erkennen kann, wird es dich nach dem <translation>Ein Name für dieses Gerät. Dieser wird der anderen Seite gezeigt, wenn das Gerät verifiziert wird. Wenn nichts angeben wird, wird einer generiert.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation>Heimserveradresse</translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation>dein.server:8787</translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>Die Adresse unter der dein Heimserver erreichbar ist. @@ -617,12 +643,20 @@ Beispiel: https://mein.server:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>ANMELDEN</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation>Du hast eine invalide Matrix ID eingegeben. Normalerwise sehen die so aus: @joe:matrix.org</translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Automatische Erkennung fehlgeschlagen. Antwort war fehlerhaft.</translation> </message> @@ -767,7 +801,7 @@ Beispiel: https://mein.server:8787</translation> <translation>Schreibe eine Nachricht…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Emoji</translation> </message> @@ -874,7 +908,7 @@ Beispiel: https://mein.server:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Benutze ein separates profil, wodurch mehrere Accounts und Nhekoinstanzen zur gleichen Zeit verwendet werden können.</translation> </message> @@ -977,7 +1011,7 @@ Beispiel: https://mein.server:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>keine Version gespeichert</translation> </message> @@ -1019,7 +1053,7 @@ Beispiel: https://mein.server:8787</translation> <translation>Fügt einen Tag hinzu oder entfernt ihn.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Neuer Tag...</translation> @@ -1119,7 +1153,7 @@ Beispiel: https://mein.server:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Nachricht zurückziehen fehlgeschlagen: %1</translation> </message> @@ -1130,7 +1164,7 @@ Beispiel: https://mein.server:8787</translation> <translation>Event konnte nicht verschlüsselt werden, senden wurde abgebrochen!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Bild speichern</translation> </message> @@ -1150,7 +1184,7 @@ Beispiel: https://mein.server:8787</translation> <translation>Datei speichern</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1269,12 +1303,12 @@ Beispiel: https://mein.server:8787</translation> <translation>%1 hat das Anklopfen zurückgezogen.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Du bist dem Raum beigetreten.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Hat das Anklopfen von %1 abgewiesen.</translation> </message> @@ -1356,6 +1390,11 @@ Beispiel: https://mein.server:8787</translation> <translation>Speichern unter...</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation>Öffne in externen Programm</translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Kein Raum geöffnet</translation> @@ -1467,7 +1506,7 @@ Beispiel: https://mein.server:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation>Verifizieren</translation> </message> @@ -1490,7 +1529,7 @@ Beispiel: https://mein.server:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Ins Benachrichtigungsfeld minimieren</translation> </message> diff --git a/resources/langs/nheko_el.ts b/resources/langs/nheko_el.ts
index 36c29389..e24539ce 100644 --- a/resources/langs/nheko_el.ts +++ b/resources/langs/nheko_el.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation type="unfinished"></translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">Όλα τα αρχεία (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Κωδικός</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation type="unfinished"></translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>ΕΙΣΟΔΟΣ</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation type="unfinished">Γράψε ένα μήνυμα...</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished">Αποθήκευση Εικόνας</translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1265,12 +1299,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1352,6 +1386,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1463,7 +1502,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1486,7 +1525,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Ελαχιστοποίηση</translation> </message> diff --git a/resources/langs/nheko_en.ts b/resources/langs/nheko_en.ts
index f354cf87..9919e89e 100644 --- a/resources/langs/nheko_en.ts +++ b/resources/langs/nheko_en.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>You joined this room.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Invited user: %1</translation> </message> @@ -274,13 +274,18 @@ <message> <location line="+54"/> <source>Failed to kick %1 from %2: %3</source> - <translation type="unfinished"></translation> + <translation>Failed to kick %1 from %2: %3</translation> </message> </context> <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation>Hide rooms with this tag or from this community</translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>All rooms</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Encrypted Event (No keys found for decryption) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation>-- Encrypted Event (Key not valid for this index) --</translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>All Files (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Failed to upload media. Please try again.</translation> </message> @@ -599,7 +610,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Password</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation>Your password.</translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Device name</translation> </message> @@ -609,7 +625,17 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation>Homeserver address</translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation>server.my:8787</translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>The address that can be used to contact you homeservers client API. @@ -617,12 +643,20 @@ Example: https://server.my:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>LOGIN</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation>You have entered an invalid Matrix ID e.g @joe:matrix.org</translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Autodiscovery failed. Received malformed response.</translation> </message> @@ -767,7 +801,7 @@ Example: https://server.my:8787</translation> <translation>Write a message…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Emoji</translation> </message> @@ -874,7 +908,7 @@ Example: https://server.my:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</translation> </message> @@ -977,7 +1011,7 @@ Example: https://server.my:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>no version stored</translation> </message> @@ -1019,7 +1053,7 @@ Example: https://server.my:8787</translation> <translation>Adds or removes the specified tag.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>New tag…</translation> @@ -1119,7 +1153,7 @@ Example: https://server.my:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Message redaction failed: %1</translation> </message> @@ -1130,7 +1164,7 @@ Example: https://server.my:8787</translation> <translation>Failed to encrypt event, sending aborted!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Save image</translation> </message> @@ -1150,7 +1184,7 @@ Example: https://server.my:8787</translation> <translation>Save file</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1269,12 +1303,12 @@ Example: https://server.my:8787</translation> <translation>%1 redacted their knock.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>You joined this room.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Rejected the knock from %1.</translation> </message> @@ -1356,6 +1390,11 @@ Example: https://server.my:8787</translation> <translation>Save as</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation>Open in external program</translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>No room open</translation> @@ -1467,7 +1506,7 @@ Example: https://server.my:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation>Verify</translation> </message> @@ -1490,7 +1529,7 @@ Example: https://server.my:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Minimize to tray</translation> </message> diff --git a/resources/langs/nheko_eo.ts b/resources/langs/nheko_eo.ts
index eb94d4ab..b09d8240 100644 --- a/resources/langs/nheko_eo.ts +++ b/resources/langs/nheko_eo.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Vi aliĝis ĉi tiun ĉambron.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -281,7 +281,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Ĉiuj ĉambroj</translation> </message> @@ -475,12 +480,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -558,7 +569,7 @@ <translation type="unfinished">Ĉiuj dosieroj (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -597,7 +608,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished">Pasvorto</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Aparata nomo</translation> </message> @@ -608,7 +624,17 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Nomo por ĉi tiu aparato, montrot al aliaj, kiam kontrolant viajn aparatojn. Se neniom provizitis, defaŭlto uzit.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translatorcomment>API should be valid for the EO translation of application programming interface.</translatorcomment> @@ -617,13 +643,21 @@ Ekzemplo: https://servisto.mia:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translatorcomment>Maybe shouldn&apos;t be imperative?</translatorcomment> <translation>ENSALUTU</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -768,7 +802,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <translation type="unfinished">Skribu mesaĝon...</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -875,7 +909,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -978,7 +1012,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1020,7 +1054,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Nova etikedo...</translation> @@ -1122,7 +1156,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1133,7 +1167,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished"></translation> </message> @@ -1153,7 +1187,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1274,12 +1308,12 @@ Ekzemplo: https://servisto.mia:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Vi aliĝis ĉi tiun ĉambron.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1361,6 +1395,11 @@ Ekzemplo: https://servisto.mia:8787</translation> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1472,7 +1511,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1495,7 +1534,7 @@ Ekzemplo: https://servisto.mia:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_et.ts b/resources/langs/nheko_et.ts
index 1a00659b..e3b46f95 100644 --- a/resources/langs/nheko_et.ts +++ b/resources/langs/nheko_et.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Sa liitusid selle jututoaga.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Kutsutud kasutaja: %1</translation> </message> @@ -274,13 +274,18 @@ <message> <location line="+54"/> <source>Failed to kick %1 from %2: %3</source> - <translation type="unfinished"></translation> + <translation>Kasutaja %1 väljamüksamine %2 jututoast ei õnnestunud: %3</translation> </message> </context> <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation>Peida sellest kogukonnast antud sildiga jututoad</translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Kõik jututoad</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Krüptitud sündmus (Dekrüptimisvõtmeid ei leidunud) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation>-- Krüptitud sündmus (võti pole selle indeksi jaoks sobilik) --</translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Kõik failid (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Meediafailide üleslaadimine ei õnnestunud. Palun proovi uuesti.</translation> </message> @@ -599,7 +610,12 @@ Kui Nheko ei suuda tuvastada sinu koduserverit, siis ta kuvab sulle andmevälja <translation>Salasõna</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation>Sinu salasõna.</translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Seadme nimi</translation> </message> @@ -609,7 +625,17 @@ Kui Nheko ei suuda tuvastada sinu koduserverit, siis ta kuvab sulle andmevälja <translation>Selle seadme nimi, mida näidetakse verifitseerimise ajal teisele kasutajatele. Kui sa ise nime ei pane, siis kasutame automaatselt pandud nime.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation>Koduserveri aadress</translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation>server.minu:8787</translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>Aadress, mida sinu koduserveri kliendipoole API kasutab. @@ -617,12 +643,20 @@ Näiteks: https://server.minu:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>LOGI SISSE</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation>Sisestatud Matrix&apos;i kasutajatunnus on vigane - peaks olema @kasutaja:server.tld</translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Koduserveri automaatne tuvastamine ei õnnestunud: päringuvastus oli vigane.</translation> </message> @@ -767,7 +801,7 @@ Näiteks: https://server.minu:8787</translation> <translation>Kirjuta sõnum…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Emoji</translation> </message> @@ -874,7 +908,7 @@ Näiteks: https://server.minu:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Loo unikaalne profiil, mis võimaldab sul logida samaaegselt sisse erinevatele kasutajakontodele ning käivitada mitu Nheko programmiakent.</translation> </message> @@ -977,7 +1011,7 @@ Näiteks: https://server.minu:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>salvestatud versiooni ei leidu</translation> </message> @@ -1019,7 +1053,7 @@ Näiteks: https://server.minu:8787</translation> <translation>Lisab või eemaldab selle sildi.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Uus silt…</translation> @@ -1119,7 +1153,7 @@ Näiteks: https://server.minu:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Sõnumi ümbersõnastamine ebaõnnestus: %1</translation> </message> @@ -1130,7 +1164,7 @@ Näiteks: https://server.minu:8787</translation> <translation>Sündmuse krüptimine ei õnnestunud, katkestame saatmise!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Salvesta pilt</translation> </message> @@ -1150,7 +1184,7 @@ Näiteks: https://server.minu:8787</translation> <translation>Salvesta fail</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1269,12 +1303,12 @@ Näiteks: https://server.minu:8787</translation> <translation>%1 muutis oma koputust jututoa uksele.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Sa liitusid jututoaga.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Lükkas tagasi %1 koputuse jututoa uksele.</translation> </message> @@ -1356,6 +1390,11 @@ Näiteks: https://server.minu:8787</translation> <translation>Salvesta kui</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation>Ava välise rakendusega</translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Ühtegi jututuba pole avatud</translation> @@ -1467,7 +1506,7 @@ Näiteks: https://server.minu:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation>Verifitseeri</translation> </message> @@ -1490,7 +1529,7 @@ Näiteks: https://server.minu:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Vähenda tegumiribale</translation> </message> diff --git a/resources/langs/nheko_fi.ts b/resources/langs/nheko_fi.ts
index a5af584c..f4a518e5 100644 --- a/resources/langs/nheko_fi.ts +++ b/resources/langs/nheko_fi.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Kaikki huoneet</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Salattu viesti (salauksen purkuavaimia ei löydetty) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Kaikki Tiedostot (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Salasana</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Laitteen nimi</translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>KIRJAUDU</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Palvelimen tietojen hakeminen epäonnistui: virheellinen vastaus.</translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation>Kirjoita viesti…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished">Emoji</translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>ei tallennettua versiota</translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Viestin muokkaus epäonnistui: %1</translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Tallenna kuva</translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1265,12 +1299,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1352,6 +1386,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1463,7 +1502,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1486,7 +1525,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Pienennä ilmoitusalueelle</translation> </message> diff --git a/resources/langs/nheko_fr.ts b/resources/langs/nheko_fr.ts
index 1750360b..130bc004 100644 --- a/resources/langs/nheko_fr.ts +++ b/resources/langs/nheko_fr.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Vous avez rejoint ce salon.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>%1 a été invité(e)</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Tous les salons</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Évènement chiffré (pas de clé trouvée pour le déchiffrement) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Tous les types de fichiers (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Échec de l&apos;envoi du média. Veuillez réessayer.</translation> </message> @@ -599,7 +610,12 @@ Si Nheko n&apos;arrive pas à trouver votre serveur, il vous proposera de l&apos <translation>Mot de passe</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Nom de l&apos;appareil</translation> </message> @@ -609,7 +625,17 @@ Si Nheko n&apos;arrive pas à trouver votre serveur, il vous proposera de l&apos <translation>Un nom pour cet appareil, qui sera montré aux autres utilisateurs lorsque ceux-ci le vérifieront. Si aucun n&apos;est fourni, un nom par défaut est utilisé.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>L&apos;adresse qui peut être utilisée pour joindre l&apos;API client de votre serveur. @@ -617,12 +643,20 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>CONNEXION</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Échec de la découverte automatique. Réponse mal formatée reçue.</translation> </message> @@ -767,7 +801,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <translation>Écrivez un message…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Émoji</translation> </message> @@ -874,7 +908,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Créer un profil unique, vous permettant de vous connecter simultanément à plusieurs comptes et à lancer plusieurs instances de nheko.</translation> </message> @@ -977,7 +1011,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>pas de version enregistrée</translation> </message> @@ -1019,7 +1053,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <translation>Ajoute ou retire l&apos;étiquette spécifiée.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Nouvelle étiquette…</translation> @@ -1119,7 +1153,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Échec de la suppression du message&#xa0;: %1</translation> </message> @@ -1130,7 +1164,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <translation>Échec du chiffrement de l&apos;évènement, envoi abandonné&#x202f;!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Enregistrer l&apos;image</translation> </message> @@ -1150,7 +1184,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <translation>Enregistrer le fichier</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1269,12 +1303,12 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <translation>%1 ne frappe plus au salon.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Vous avez rejoint ce salon.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>%1 a été rejeté après avoir frappé au salon.</translation> </message> @@ -1356,6 +1390,11 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <translation>Enregistrer sous</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Aucun salon ouvert</translation> @@ -1467,7 +1506,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation>Vérifier</translation> </message> @@ -1490,7 +1529,7 @@ Exemple&#xa0;: https&#x202f;://monserveur.example.com&#x202f;:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Réduire à la barre des tâches</translation> </message> diff --git a/resources/langs/nheko_hu.ts b/resources/langs/nheko_hu.ts
index 39fcd64e..acf5865f 100644 --- a/resources/langs/nheko_hu.ts +++ b/resources/langs/nheko_hu.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Csatlakoztál ehhez a szobához.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>A felhasználó meg lett hívva: %1</translation> </message> @@ -274,13 +274,18 @@ <message> <location line="+54"/> <source>Failed to kick %1 from %2: %3</source> - <translation type="unfinished"></translation> + <translation>Nem sikerült kirúgni %1 felhasználót %2 szobából: %3</translation> </message> </context> <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation>Az ilyen címkével ellátott vagy közösséghez tartozó szobák elrejtése</translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Az összes szoba</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Titkosított esemény (Nem találhatók kulcsok a titkosítás feloldásához) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation>-- Titkosított esemény (a kulcs nem érvényes ehhez az indexhez) --</translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Minden fájl (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Nem sikerült feltölteni a médiafájlt. Kérlek, próbáld újra!</translation> </message> @@ -599,7 +610,12 @@ Ha a Nheko nem tud rátalálni a homeszerveredre, meg fog jelenni egy mező, aho <translation>Jelszó</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation>A jelszavad.</translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Eszköznév</translation> </message> @@ -609,7 +625,17 @@ Ha a Nheko nem tud rátalálni a homeszerveredre, meg fog jelenni egy mező, aho <translation>Egy név ennek az eszköznek, amely meg fog jelenni mások számára, amikor hitelesíted az eszközeidet. Ha nincs megadva semmi, egy alapértelmezett név lesz használva.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation>Homeszerver címe</translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation>szerver.em:8787</translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>A cím, melyen keresztül el lehet érni a homeszervered kliens API-jét. @@ -617,12 +643,20 @@ Példa: https://szerver.em:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>BEJELENTKEZÉS</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation>Érvénytelen Matrixazonosítót adtál meg. Példa: @janos:matrix.org</translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Az automatikus felderítés nem sikerült. Helytelen válasz érkezett.</translation> </message> @@ -767,7 +801,7 @@ Példa: https://szerver.em:8787</translation> <translation>Írj egy üzenetet…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Hangulatjelek</translation> </message> @@ -874,7 +908,7 @@ Példa: https://szerver.em:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Egy egyedi profil létrehozása, amellyel be tudsz jelentkezni egyszerre több fiókon keresztül és a Nheko több példányát is tudod futtatni.</translation> </message> @@ -977,7 +1011,7 @@ Példa: https://szerver.em:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>nincs tárolva verzió</translation> </message> @@ -1019,7 +1053,7 @@ Példa: https://szerver.em:8787</translation> <translation>Hozzáadja vagy eltávolítja az adott címkét.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Új címke…</translation> @@ -1119,7 +1153,7 @@ Példa: https://szerver.em:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Az üzenet visszavonása nem sikerült: %1</translation> </message> @@ -1130,168 +1164,168 @@ Példa: https://szerver.em:8787</translation> <translation>Nem sikerült titkosítani az eseményt, küldés megszakítva!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> - <translation type="unfinished"></translation> + <translation>Kép mentése</translation> </message> <message> <location line="+2"/> <source>Save video</source> - <translation type="unfinished"></translation> + <translation>Videó mentése</translation> </message> <message> <location line="+2"/> <source>Save audio</source> - <translation type="unfinished"></translation> + <translation>Hang mentése</translation> </message> <message> <location line="+2"/> <source>Save file</source> - <translation type="unfinished"></translation> + <translation>Fájl mentése</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <source>%1 and %2 are typing.</source> <comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>%1%2 gépel.</numerusform> </translation> </message> <message> <location line="+68"/> <source>%1 opened the room to the public.</source> - <translation type="unfinished"></translation> + <translation>%1 nyilvánosan elérhetővé tette a szobát.</translation> </message> <message> <location line="+2"/> <source>%1 made this room require and invitation to join.</source> - <translation type="unfinished"></translation> + <translation>%1 beállította, hogy meghívással lehessen csatlakozni ehhez a szobához.</translation> </message> <message> <location line="+23"/> <source>%1 made the room open to guests.</source> - <translation type="unfinished"></translation> + <translation>%1 elérhetővé tette a szobát vendégeknek.</translation> </message> <message> <location line="+2"/> <source>%1 has closed the room to guest access.</source> - <translation type="unfinished"></translation> + <translation>%1 eltávolította a szoba elérhetőségét vendégek számára.</translation> </message> <message> <location line="+23"/> <source>%1 made the room history world readable. Events may be now read by non-joined people.</source> - <translation type="unfinished"></translation> + <translation>%1 olvashatóvá tette a világon bárki számára a szoba előzményeit. Az eseményeket most már azok is láthatják, akik nem csatlakoztak.</translation> </message> <message> <location line="+4"/> <source>%1 set the room history visible to members from this point on.</source> - <translation type="unfinished"></translation> + <translation>%1 beállította, hogy a szoba előzményei ezentúl csak a tagok számára legyenek láthatóak.</translation> </message> <message> <location line="+3"/> <source>%1 set the room history visible to members since they were invited.</source> - <translation type="unfinished"></translation> + <translation>%1 beállította, hogy a szoba előzményei láthatóak legyenek a tagok számára a meghívásuktól kezdve.</translation> </message> <message> <location line="+3"/> <source>%1 set the room history visible to members since they joined the room.</source> - <translation type="unfinished"></translation> + <translation>%1 beállította, hogy a szoba előzményei láthatóak legyenek a tagok számára a csatlakozásuktól kezdve.</translation> </message> <message> <location line="+22"/> <source>%1 has changed the room&apos;s permissions.</source> - <translation type="unfinished"></translation> + <translation>%1 megváltoztatta a szoba engedélyeit.</translation> </message> <message> <location line="+33"/> <source>%1 was invited.</source> - <translation type="unfinished"></translation> + <translation>%1 meg lett hívva.</translation> </message> <message> <location line="+11"/> <source>%1 changed their display name and avatar.</source> - <translation type="unfinished"></translation> + <translation>%1 megváltoztatta a megjelenítési nevét és a profilképét.</translation> </message> <message> <location line="+2"/> <source>%1 changed their display name.</source> - <translation type="unfinished"></translation> + <translation>%1 megváltoztatta a megjelenítési nevét.</translation> </message> <message> <location line="+2"/> <source>%1 changed their avatar.</source> - <translation type="unfinished"></translation> + <translation>%1 megváltoztatta a profilképét.</translation> </message> <message> <location line="+2"/> <source>%1 changed some profile info.</source> - <translation type="unfinished"></translation> + <translation>%1 megváltoztatta a profiladatait.</translation> </message> <message> <location line="+4"/> <source>%1 joined.</source> - <translation type="unfinished"></translation> + <translation>%1 csatlakozott.</translation> </message> <message> <location line="+9"/> <source>%1 rejected their invite.</source> - <translation type="unfinished"></translation> + <translation>%1 elutasította a meghívását.</translation> </message> <message> <location line="+2"/> <source>Revoked the invite to %1.</source> - <translation type="unfinished"></translation> + <translation>Meghívás elutasítva a(z) %1 szobába.</translation> </message> <message> <location line="+3"/> <source>%1 left the room.</source> - <translation type="unfinished"></translation> + <translation>%1 elhagyta a szobát.</translation> </message> <message> <location line="+2"/> <source>Kicked %1.</source> - <translation type="unfinished"></translation> + <translation>%1 ki lett rúgva.</translation> </message> <message> <location line="+2"/> <source>Unbanned %1.</source> - <translation type="unfinished"></translation> + <translation>%1 tiltása vissza lett vonva.</translation> </message> <message> <location line="+14"/> <source>%1 was banned.</source> - <translation type="unfinished"></translation> + <translation>%1 ki lett tiltva.</translation> </message> <message> <location line="-11"/> <source>%1 redacted their knock.</source> - <translation type="unfinished"></translation> + <translation>%1 visszavonta a kopogását.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Csatlakoztál ehhez a szobához.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> - <translation type="unfinished"></translation> + <translation>Kopogás elutasítva tőle: %1.</translation> </message> <message> <location line="+2"/> <source>%1 left after having already left!</source> <comment>This is a leave event after the user already left and shouldn&apos;t happen apart from state resets</comment> - <translation type="unfinished"></translation> + <translation>%1 távozott, miután már egyszer távozott!</translation> </message> <message> <location line="+15"/> <source> Reason: %1</source> - <translation type="unfinished"></translation> + <translation>Ok: %1</translation> </message> <message> <location line="-5"/> <source>%1 knocked.</source> - <translation type="unfinished"></translation> + <translation>%1 kopogott.</translation> </message> </context> <context> @@ -1299,17 +1333,17 @@ Példa: https://szerver.em:8787</translation> <message> <location filename="../qml/TimelineRow.qml" line="+97"/> <source>React</source> - <translation type="unfinished"></translation> + <translation>Reakció</translation> </message> <message> <location line="+15"/> <source>Reply</source> - <translation type="unfinished"></translation> + <translation>Válasz</translation> </message> <message> <location line="+14"/> <source>Options</source> - <translation type="unfinished"></translation> + <translation>Műveletek</translation> </message> </context> <context> @@ -1317,47 +1351,52 @@ Példa: https://szerver.em:8787</translation> <message> <location filename="../qml/TimelineView.qml" line="+83"/> <source>React</source> - <translation type="unfinished"></translation> + <translation>Reakció</translation> </message> <message> <location line="+7"/> <source>Reply</source> - <translation type="unfinished"></translation> + <translation>Válasz</translation> </message> <message> <location line="+5"/> <source>Read receipts</source> - <translation type="unfinished"></translation> + <translation>Olvasási jegyek</translation> </message> <message> <location line="+5"/> <source>Mark as read</source> - <translation type="unfinished"></translation> + <translation>Megjelölés olvasottként</translation> </message> <message> <location line="+4"/> <source>View raw message</source> - <translation type="unfinished"></translation> + <translation>Nyers üzenet megtekintése</translation> </message> <message> <location line="+8"/> <source>View decrypted raw message</source> - <translation type="unfinished"></translation> + <translation>Előzőleg titkosított nyers üzenet megtekintése</translation> </message> <message> <location line="+5"/> <source>Remove message</source> - <translation type="unfinished"></translation> + <translation>Üzenet eltávolítása</translation> </message> <message> <location line="+7"/> <source>Save as</source> - <translation type="unfinished"></translation> + <translation>Mentés másként</translation> + </message> + <message> + <location line="+7"/> + <source>Open in external program</source> + <translation>Megnyitás külső programban</translation> </message> <message> <location line="+51"/> <source>No room open</source> - <translation type="unfinished"></translation> + <translation>Nincs nyitott szoba</translation> </message> </context> <context> @@ -1365,7 +1404,7 @@ Példa: https://szerver.em:8787</translation> <message> <location filename="../../src/timeline/TimelineViewManager.cpp" line="+423"/> <source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source> - <translation type="unfinished"></translation> + <translation>Nem található titkosított privát csevegés ezzel a felhasználóval. Hozz létre egy titkosított privát csevegést vele, és próbáld újra!</translation> </message> </context> <context> @@ -1373,38 +1412,38 @@ Példa: https://szerver.em:8787</translation> <message> <location filename="../qml/TopBar.qml" line="+43"/> <source>Back to room list</source> - <translation type="unfinished"></translation> + <translation>Vissza a szobák listájára</translation> </message> <message> <location line="+12"/> <location line="+10"/> <source>No room selected</source> - <translation type="unfinished"></translation> + <translation>Nincs kiválasztva szoba</translation> </message> <message> <location line="+29"/> <source>Room options</source> - <translation type="unfinished"></translation> + <translation>Szoba beállításai</translation> </message> <message> <location line="+7"/> <source>Invite users</source> - <translation type="unfinished"></translation> + <translation>Felhasználók meghívása</translation> </message> <message> <location line="+5"/> <source>Members</source> - <translation type="unfinished"></translation> + <translation>Tagok</translation> </message> <message> <location line="+5"/> <source>Leave room</source> - <translation type="unfinished"></translation> + <translation>Szoba elhagyása</translation> </message> <message> <location line="+5"/> <source>Settings</source> - <translation type="unfinished"></translation> + <translation>Beállítások</translation> </message> </context> <context> @@ -1412,12 +1451,12 @@ Példa: https://szerver.em:8787</translation> <message> <location filename="../../src/TrayIcon.cpp" line="+122"/> <source>Show</source> - <translation type="unfinished"></translation> + <translation>Mutat</translation> </message> <message> <location line="+1"/> <source>Quit</source> - <translation type="unfinished"></translation> + <translation>Kilépés</translation> </message> </context> <context> @@ -1425,411 +1464,419 @@ Példa: https://szerver.em:8787</translation> <message> <location filename="../../src/UserInfoWidget.cpp" line="+95"/> <source>Logout</source> - <translation type="unfinished"></translation> + <translation>Kijelentkezés</translation> </message> <message> <location line="+20"/> <source>Set custom status message</source> - <translation type="unfinished"></translation> + <translation>Egyéni állapotüzenet megadása</translation> </message> <message> <location line="+4"/> <source>Custom status message</source> - <translation type="unfinished"></translation> + <translation>Egyéni állapotüzenet</translation> </message> <message> <location line="+1"/> <source>Status:</source> - <translation type="unfinished"></translation> + <translation>Állapot:</translation> </message> <message> <location line="+9"/> <source>Set presence automatically</source> - <translation type="unfinished"></translation> + <translation>Elérhetőség megadása automatikusan</translation> </message> <message> <location line="+6"/> <source>Online</source> - <translation type="unfinished"></translation> + <translation>Bejelentkezve</translation> </message> <message> <location line="+5"/> <source>Unavailable</source> - <translation type="unfinished"></translation> + <translation>Nem elérhető</translation> </message> <message> <location line="+6"/> <source>Offline</source> - <translation type="unfinished"></translation> + <translation>Kiejelentkezve</translation> </message> </context> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> - <translation type="unfinished"></translation> + <translation>Hitelesítés</translation> </message> <message> <location line="+23"/> <source>Ban the user</source> - <translation type="unfinished"></translation> + <translation>A felhasználó tiltása</translation> </message> <message> <location line="+20"/> <source>Start a private chat</source> - <translation type="unfinished"></translation> + <translation>Privát csevegés indítása</translation> </message> <message> <location line="+8"/> <source>Kick the user</source> - <translation type="unfinished"></translation> + <translation>A felhasználó kirúgása</translation> </message> </context> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> - <translation type="unfinished"></translation> + <translation>Kicsinyítés a tálcára</translation> </message> <message> <location line="+3"/> <source>Start in tray</source> - <translation type="unfinished"></translation> + <translation>Indítás a tálcán</translation> </message> <message> <location line="+7"/> <source>Group&apos;s sidebar</source> - <translation type="unfinished"></translation> + <translation>Csoport oldalsávja</translation> </message> <message> <location line="-3"/> <source>Circular Avatars</source> - <translation type="unfinished"></translation> + <translation>Kerekített profilképek</translation> </message> <message> <location line="-195"/> <source>profile: %1</source> - <translation type="unfinished"></translation> + <translation>profil: %1</translation> </message> <message> <location line="+112"/> <source>CALLS</source> - <translation type="unfinished"></translation> + <translation>HÍVÁSOK</translation> </message> <message> <location line="+46"/> <source>Cross Signing Keys</source> - <translation type="unfinished"></translation> + <translation>Keresztaláírási kulcsok</translation> </message> <message> <location line="+4"/> <source>REQUEST</source> - <translation type="unfinished"></translation> + <translation>LEKÉRÉS</translation> </message> <message> <location line="+1"/> <source>DOWNLOAD</source> - <translation type="unfinished"></translation> + <translation>LETÖLTÉS</translation> </message> <message> <location line="+27"/> <source>Keep the application running in the background after closing the client window.</source> - <translation type="unfinished"></translation> + <translation>Az alkalmazás azután is a háttérben fut, miután be lett zárva a főablak.</translation> </message> <message> <location line="+3"/> <source>Start the application in the background without showing the client window.</source> - <translation type="unfinished"></translation> + <translation>Induljon az alkalmazás a háttérben, a főablak mutatása nélkül.</translation> </message> <message> <location line="+4"/> <source>Change the appearance of user avatars in chats. OFF - square, ON - Circle.</source> - <translation type="unfinished"></translation> + <translation>A profilképek megjelenése a csevegésekben. +KI - szögletes, BE - kerek.</translation> </message> <message> <location line="+3"/> <source>Show a column containing groups and tags next to the room list.</source> - <translation type="unfinished"></translation> + <translation>Csoportok és címkék megjelenítése a szobák listája mellett egy oszlopban.</translation> </message> <message> <location line="+1"/> <source>Decrypt messages in sidebar</source> - <translation type="unfinished"></translation> + <translation>Titkosított üzenetek mutatása az oldalsávban</translation> </message> <message> <location line="+2"/> <source>Decrypt the messages shown in the sidebar. Only affects messages in encrypted chats.</source> - <translation type="unfinished"></translation> + <translation>Legyenek feloldva az oldalsávban megjelenő üzenetek. +Csak a titkosított csevegések üzeneteire vonatkozik.</translation> </message> <message> <location line="+2"/> <source>Show buttons in timeline</source> - <translation type="unfinished"></translation> + <translation>Gombok mutatása az idővonalban</translation> </message> <message> <location line="+2"/> <source>Show buttons to quickly reply, react or access additional options next to each message.</source> - <translation type="unfinished"></translation> + <translation>Gombok mutatása minden egyes üzenet mellett a gyors válaszhoz, reakcióhoz és egyéb műveletek eléréséhez.</translation> </message> <message> <location line="+2"/> <source>Limit width of timeline</source> - <translation type="unfinished"></translation> + <translation>Az idővonal szélességének korlátozása</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> + <translation>Az idővonalon megjelenő üzenetek maximális szélességének megadása (pixelben). Ez javíthatja az olvashatóságot, amikor a Nheko teljes méretben van széles képernyőkön.</translation> </message> <message> <location line="+2"/> <source>Typing notifications</source> - <translation type="unfinished"></translation> + <translation>Gépelési értesítések</translation> </message> <message> <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> + <translation>Legyen mutatva, hogy éppen ki gépel egy szobában. +Ez be vagy ki is kapcsolja a gépelési értesítések küldését másoknak.</translation> </message> <message> <location line="+3"/> <source>Sort rooms by unreads</source> - <translation type="unfinished"></translation> + <translation>Szobák sorrendje olvasatlan üzenetek alapján</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&apos;t seem to consider them as important as the other rooms.</source> - <translation type="unfinished"></translation> + <translation>Az új üzeneteket tartalmazó szobák jelenjenek meg elöl. +Ha ki van kapcsolva, a szobák sorrendje csak a bennük lévő utolsó üzenet dátuma alapján történik. +Ha be van kapcsolva, azok a szobák kerülnek felülre, amelyekhez aktív értesítés tartozik (amelyet a számot tartalmazó kis kör jelez). A némított szobák továbbra is dátum alapján lesznek rendezve, mivel nem valószínű, hogy ezeket annyira fontosnak tartod, mint a többi szobát.</translation> </message> <message> <location line="+7"/> <source>Read receipts</source> - <translation type="unfinished"></translation> + <translation>Olvasási jegyek</translation> </message> <message> <location line="+2"/> <source>Show if your message was read. Status is displayed next to timestamps.</source> - <translation type="unfinished"></translation> + <translation>Legyen mutatva, ha az üzenetedet elolvasták. +Ez az állapot az üzenetek ideje mellett jelenik meg.</translation> </message> <message> <location line="+2"/> <source>Send messages as Markdown</source> - <translation type="unfinished"></translation> + <translation>Üzenetek küldése Markdownként</translation> </message> <message> <location line="+2"/> <source>Allow using markdown in messages. When disabled, all messages are sent as a plain text.</source> - <translation type="unfinished"></translation> + <translation>A Markdown használatának engedélyezése az üzenetekben. +Ha ki van kapcsolva, az összes üzenet sima szövegként lesz elküldve.</translation> </message> <message> <location line="+2"/> <source>Desktop notifications</source> - <translation type="unfinished"></translation> + <translation>Asztali értesítések</translation> </message> <message> <location line="+2"/> <source>Notify about received message when the client is not currently focused.</source> - <translation type="unfinished"></translation> + <translation>Értesítések az érkezett üzenetekről, amikor a főablak éppen nincs fókuszban.</translation> </message> <message> <location line="+1"/> <source>Alert on notification</source> - <translation type="unfinished"></translation> + <translation>Riasztás értesítéskor</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> + <translation>Riasztás megjelenítése, ha üzenet érkezett. +Ettől általában animálttá válik az alkalmazásablakok listáján szereplő ikon.</translation> </message> <message> <location line="+2"/> <source>Highlight message on hover</source> - <translation type="unfinished"></translation> + <translation>Üzenetek kiemelése, ha az egérmutató rajtuk van</translation> </message> <message> <location line="+2"/> <source>Change the background color of messages when you hover over them.</source> - <translation type="unfinished"></translation> + <translation>Az üzenetek háttérszínének megváltoztatása, ha az egérmutatót föléjük viszed.</translation> </message> <message> <location line="+1"/> <source>Large Emoji in timeline</source> - <translation type="unfinished"></translation> + <translation>Hatalmas hangulatjelek az idővonalon</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> + <translation>A betűméret megnövelése, ha az üzenetek csak néhány hangulatjelet tartalmaznak.</translation> </message> <message> <location line="+56"/> <source>Share keys with verified users and devices</source> - <translation type="unfinished"></translation> + <translation>Kulcsok megosztása hitelesített felhasználókkal és eszközökkel</translation> </message> <message> <location line="+395"/> <source>CACHED</source> - <translation type="unfinished"></translation> + <translation>GYORSÍTÓTÁRAZVA</translation> </message> <message> <location line="+6"/> <source>NOT CACHED</source> - <translation type="unfinished"></translation> + <translation>NINCS GYORSÍTÓTÁRAZVA</translation> </message> <message> <location line="-449"/> <source>Scale factor</source> - <translation type="unfinished"></translation> + <translation>Nagyítási tényező</translation> </message> <message> <location line="+2"/> <source>Change the scale factor of the whole user interface.</source> - <translation type="unfinished"></translation> + <translation>Az egész felhasználói felület méretének szorzótényezője.</translation> </message> <message> <location line="+4"/> <source>Font size</source> - <translation type="unfinished"></translation> + <translation>Betűméret</translation> </message> <message> <location line="+1"/> <source>Font Family</source> - <translation type="unfinished"></translation> + <translation>Betűtípus</translation> </message> <message> <location line="+8"/> <source>Theme</source> - <translation type="unfinished"></translation> + <translation>Téma</translation> </message> <message> <location line="+4"/> <source>Ringtone</source> - <translation type="unfinished"></translation> + <translation>Csengőhang</translation> </message> <message> <location line="+2"/> <source>Set the notification sound to play when a call invite arrives</source> - <translation type="unfinished"></translation> + <translation>Az értesítőhang megadása, amely akkor szól, ha hívás érkezik</translation> </message> <message> <location line="+1"/> <source>Microphone</source> - <translation type="unfinished"></translation> + <translation>Mikrofon</translation> </message> <message> <location line="+1"/> <source>Camera</source> - <translation type="unfinished"></translation> + <translation>Kamera</translation> </message> <message> <location line="+1"/> <source>Camera resolution</source> - <translation type="unfinished"></translation> + <translation>Kamerafelbontás</translation> </message> <message> <location line="+1"/> <source>Camera frame rate</source> - <translation type="unfinished"></translation> + <translation>Kamera képkockasebessége</translation> </message> <message> <location line="+14"/> <source>Allow fallback call assist server</source> - <translation type="unfinished"></translation> + <translation>Tartalék hívássegéd szerver engedélyezése</translation> </message> <message> <location line="+2"/> <source>Will use turn.matrix.org as assist when your home server does not offer one.</source> - <translation type="unfinished"></translation> + <translation>A turn.matrix.org lesz használva segédnek, ha a homeszerverednek nincs ilyenje.</translation> </message> <message> <location line="+4"/> <source>Device ID</source> - <translation type="unfinished"></translation> + <translation>Eszközazonosító</translation> </message> <message> <location line="+1"/> <source>Device Fingerprint</source> - <translation type="unfinished"></translation> + <translation>Eszközujjlenyomat</translation> </message> <message> <location line="-155"/> <source>Session Keys</source> - <translation type="unfinished"></translation> + <translation>Munkamenetkulcsok</translation> </message> <message> <location line="+4"/> <source>IMPORT</source> - <translation type="unfinished"></translation> + <translation>IMPORTÁLÁS</translation> </message> <message> <location line="+1"/> <source>EXPORT</source> - <translation type="unfinished"></translation> + <translation>EXPORTÁLÁS</translation> </message> <message> <location line="-34"/> <source>ENCRYPTION</source> - <translation type="unfinished"></translation> + <translation>TITKOSÍTÁS</translation> </message> <message> <location line="-100"/> <source>GENERAL</source> - <translation type="unfinished"></translation> + <translation>ÁLTALÁNOS</translation> </message> <message> <location line="+57"/> <source>INTERFACE</source> - <translation type="unfinished"></translation> + <translation>FELÜLET</translation> </message> <message> <location line="+177"/> <source>Touchscreen mode</source> - <translation type="unfinished"></translation> + <translation>Érintő képernyős mód</translation> </message> <message> <location line="+2"/> <source>Will prevent text selection in the timeline to make touch scrolling easier.</source> - <translation type="unfinished"></translation> + <translation>Letiltja a szövegkiemelést az idővonalban, hogy könyebb legyen érintéssel görgetni.</translation> </message> <message> <location line="+12"/> <source>Emoji Font Family</source> - <translation type="unfinished"></translation> + <translation>Hangulatjelek betűtípusa</translation> </message> <message> <location line="+40"/> <source>Automatically replies to key requests from other users, if they are verified.</source> - <translation type="unfinished"></translation> + <translation>Automatikus válasz a más felhasználóktól érkező kulcskérelmekre, ha ők hitelesítve vannak.</translation> </message> <message> <location line="+5"/> <source>Master signing key</source> - <translation type="unfinished"></translation> + <translation>Mester-aláírókulcs</translation> </message> <message> <location line="+2"/> <source>Your most important key. You don&apos;t need to have it cached, since not caching it makes it less likely it can be stolen and it is only needed to rotate your other signing keys.</source> - <translation type="unfinished"></translation> + <translation>A legfontosabb kulcsod. Nem kell gyorsítótáraznod, mivel így kisebb az esélye, hogy ellopják, és csak arra van használva, hogy a többi aláíró kulcsaid váltakozva legyenek.</translation> </message> <message> <location line="+3"/> <source>User signing key</source> - <translation type="unfinished"></translation> + <translation>Felhasználói aláírókulcs</translation> </message> <message> <location line="+2"/> <source>The key to verify other users. If it is cached, verifying a user will verify all their devices.</source> - <translation type="unfinished"></translation> + <translation>A mások hitelesítésére használt kulcs. Ha gyorsítótárazva van, egy felhasználó hitelesítésekor hitelesítve lesz az összes eszköze.</translation> </message> <message> <location line="+3"/> @@ -1854,12 +1901,12 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+54"/> <source>Select a file</source> - <translation type="unfinished"></translation> + <translation>Fájl kiválasztása</translation> </message> <message> <location line="+0"/> <source>All Files (*)</source> - <translation type="unfinished"></translation> + <translation>Minden fájl (*)</translation> </message> <message> <location line="+225"/> @@ -1947,12 +1994,12 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+23"/> <source>REGISTER</source> - <translation type="unfinished"></translation> + <translation>REGISZTRÁCIÓ</translation> </message> <message> <location line="+5"/> <source>LOGIN</source> - <translation type="unfinished"></translation> + <translation>BEJELENTKEZÉS</translation> </message> </context> <context> @@ -1978,12 +2025,12 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+10"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Név</translation> </message> <message> <location line="+3"/> <source>Topic</source> - <translation type="unfinished"></translation> + <translation>Téma</translation> </message> <message> <location line="+3"/> @@ -2129,12 +2176,12 @@ Media size: %2 <message> <location filename="../../src/dialogs/ReadReceipts.cpp" line="+120"/> <source>Read receipts</source> - <translation type="unfinished"></translation> + <translation>Olvasási jegyek</translation> </message> <message> <location line="+4"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Bezárás</translation> </message> </context> <context> @@ -2155,7 +2202,7 @@ Media size: %2 <message> <location filename="../../src/dialogs/RoomSettings.cpp" line="+135"/> <source>Settings</source> - <translation type="unfinished"></translation> + <translation>Beállítások</translation> </message> <message> <location line="+3"/> @@ -2259,7 +2306,7 @@ Media size: %2 <message> <location line="+0"/> <source>All Files (*)</source> - <translation type="unfinished"></translation> + <translation>Minden fájl (*)</translation> </message> <message> <location line="+12"/> diff --git a/resources/langs/nheko_it.ts b/resources/langs/nheko_it.ts
index a8aeeab2..e05cea70 100644 --- a/resources/langs/nheko_it.ts +++ b/resources/langs/nheko_it.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Sei entrato in questa stanza.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Invitato utente: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Tutte le stanze</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished">-- Evento Criptato (Chiavi per la decriptazione non trovate) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">Tutti i File (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished">Impossibile inviare il file multimediale. Per favore riprova.</translation> </message> @@ -599,7 +610,12 @@ Se Nheko non conclude la ricerca del tuo homeserver, ti mostrerà un campo in cu <translation>Password</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Nome del dispositivo</translation> </message> @@ -609,7 +625,17 @@ Se Nheko non conclude la ricerca del tuo homeserver, ti mostrerà un campo in cu <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>L&apos;indirizzo che può essere usato per contattare le API client del tuo homeserver. @@ -617,12 +643,20 @@ Esempio: https://server.mio:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>ACCEDI</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Ricerca automatica fallita. Ricevuta risposta malformata.</translation> </message> @@ -767,7 +801,7 @@ Esempio: https://server.mio:8787</translation> <translation type="unfinished">Scrivi un messaggio…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished">Emoji</translation> </message> @@ -874,7 +908,7 @@ Esempio: https://server.mio:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -977,7 +1011,7 @@ Esempio: https://server.mio:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>nessuna versione memorizzata</translation> </message> @@ -1019,7 +1053,7 @@ Esempio: https://server.mio:8787</translation> <translation type="unfinished">Aggiungi o rimuovi il tag specificato.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1119,7 +1153,7 @@ Esempio: https://server.mio:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Oscuramento del messaggio fallito: %1</translation> </message> @@ -1130,7 +1164,7 @@ Esempio: https://server.mio:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Salva immagine</translation> </message> @@ -1150,7 +1184,7 @@ Esempio: https://server.mio:8787</translation> <translation>Salva file</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1269,12 +1303,12 @@ Esempio: https://server.mio:8787</translation> <translation>%1 ha oscurato la sua bussata.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Sei entrato in questa stanza.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Rifiutata la bussata di %1.</translation> </message> @@ -1356,6 +1390,11 @@ Esempio: https://server.mio:8787</translation> <translation>Salva come</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Nessuna stanza aperta</translation> @@ -1467,7 +1506,7 @@ Esempio: https://server.mio:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1490,7 +1529,7 @@ Esempio: https://server.mio:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Minimizza nella tray</translation> </message> diff --git a/resources/langs/nheko_ja.ts b/resources/langs/nheko_ja.ts
index 78bb8a0a..47cb27b8 100644 --- a/resources/langs/nheko_ja.ts +++ b/resources/langs/nheko_ja.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>招待されたユーザー: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>全ての部屋</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished">-- 暗号化イベント (復号鍵が見つかりません) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">全てのファイル (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished">メディアをアップロードできませんでした。やり直して下さい。</translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>パスワード</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>デバイス名</translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>ログイン</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>自動検出できませんでした。不正な形式の応答を受信しました。</translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation type="unfinished">メッセージを書く...</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished">絵文字</translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>バージョンが保存されていません</translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>メッセージを編集できませんでした: %1</translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>画像を保存</translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation>ファイルを保存</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1264,12 +1298,12 @@ Example: https://server.my:8787</source> <translation>%1がノックを編集しました。</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>%1からのノックを拒否しました。</translation> </message> @@ -1351,6 +1385,11 @@ Example: https://server.my:8787</source> <translation>名前を付けて保存</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>部屋が開いていません</translation> @@ -1462,7 +1501,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1485,7 +1524,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>トレイへ最小化</translation> </message> diff --git a/resources/langs/nheko_ml.ts b/resources/langs/nheko_ml.ts
index 4efe8835..fcceacab 100644 --- a/resources/langs/nheko_ml.ts +++ b/resources/langs/nheko_ml.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>ക്ഷണിച്ച ഉപയോക്താവ്:% 1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>എല്ലാ മുറികളും</translation> </message> @@ -455,7 +460,7 @@ <message> <location line="+13"/> <source>They match!</source> - <translation type="unfinished"></translation> + <translation type="unfinished">അവ പൊരുത്തപ്പെടുന്നു!</translation> </message> </context> <context> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>പാസ്‍വേഡ്</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>ഉപകരണത്തിന്റെ പേര്</translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation type="unfinished"></translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation>ഒരു സന്ദേശം എഴുതുക….</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>ഇമോജി</translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -909,7 +943,7 @@ Example: https://server.my:8787</source> <message> <location line="-282"/> <source>Password</source> - <translation type="unfinished"></translation> + <translation type="unfinished">പാസ്‍വേഡ്</translation> </message> <message> <location line="+3"/> @@ -967,13 +1001,13 @@ Example: https://server.my:8787</source> <message> <location filename="../qml/ReplyPopup.qml" line="+43"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation type="unfinished">അടയ്‌ക്കുക</translation> </message> </context> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1040,7 +1074,7 @@ Example: https://server.my:8787</source> <message> <location line="+3"/> <source>Decline</source> - <translation type="unfinished"></translation> + <translation type="unfinished">നിരസിക്കുക</translation> </message> </context> <context> @@ -1109,13 +1143,13 @@ Example: https://server.my:8787</source> <message> <location line="+12"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation type="unfinished">അടയ്‌ക്കുക</translation> </message> </context> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished"></translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1265,12 +1299,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1352,6 +1386,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1463,7 +1502,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1486,7 +1525,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation type="unfinished"></translation> </message> @@ -1851,7 +1890,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+54"/> <source>Select a file</source> - <translation type="unfinished"></translation> + <translation type="unfinished">ഒരു ഫയൽ തിരഞ്ഞെടുക്കുക</translation> </message> <message> <location line="+0"/> @@ -1926,7 +1965,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+15"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> </context> <context> @@ -1970,17 +2009,17 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+2"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+10"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation type="unfinished">പേര്</translation> </message> <message> <location line="+3"/> <source>Topic</source> - <translation type="unfinished"></translation> + <translation type="unfinished">വിഷയം</translation> </message> <message> <location line="+3"/> @@ -2013,7 +2052,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+1"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+1"/> @@ -2031,7 +2070,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location filename="../../src/dialogs/InviteUsers.cpp" line="+42"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+8"/> @@ -2049,7 +2088,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+2"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+7"/> @@ -2062,7 +2101,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location filename="../../src/dialogs/LeaveRoom.cpp" line="+31"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+8"/> @@ -2075,7 +2114,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location filename="../../src/dialogs/Logout.cpp" line="+47"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+8"/> @@ -2093,7 +2132,7 @@ This usually causes the application icon in the task bar to animate in some fash <message> <location line="+1"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+87"/> @@ -2108,7 +2147,7 @@ Media size: %2 <message> <location filename="../../src/dialogs/ReCaptcha.cpp" line="+31"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation type="unfinished">റദ്ദാക്കു</translation> </message> <message> <location line="+1"/> @@ -2131,7 +2170,7 @@ Media size: %2 <message> <location line="+4"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation type="unfinished">അടയ്‌ക്കുക</translation> </message> </context> <context> diff --git a/resources/langs/nheko_nl.ts b/resources/langs/nheko_nl.ts
index 19f9474d..d4f6e5f0 100644 --- a/resources/langs/nheko_nl.ts +++ b/resources/langs/nheko_nl.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Je bent lid geworden van deze kamer.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Gebruiker uitgenodigd: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation type="unfinished"></translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">Alle bestanden (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Wachtwoord</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation type="unfinished"></translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>INLOGGEN</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation type="unfinished">Typ een bericht...</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished">Afbeelding opslaan</translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1265,12 +1299,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Je bent lid geworden van deze kamer.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1352,6 +1386,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1463,7 +1502,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1486,7 +1525,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Minimaliseren naar systeemvak</translation> </message> diff --git a/resources/langs/nheko_pl.ts b/resources/langs/nheko_pl.ts
index 8c4d64c8..b0f83014 100644 --- a/resources/langs/nheko_pl.ts +++ b/resources/langs/nheko_pl.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Dołączyłeś(-łaś) do tego pokoju.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Wszystkie pokoje</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Zdarzenie szyfrowania (Nie znaleziono kluczy deszyfrujących)</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">Wszystkie pliki (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -598,7 +609,12 @@ Jeżeli Nheko nie odnajdzie Twojego serwera domowego, wyświetli formularz umoż <translation>Hasło</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Nazwa urządzenia</translation> </message> @@ -608,19 +624,37 @@ Jeżeli Nheko nie odnajdzie Twojego serwera domowego, wyświetli formularz umoż <translation>Nazwa dla tego urządzenia, będzie ona widoczna dla innych użytkowników, kiedy będą weryfikować Twoje urządzenia. Jeżeli żadna nie jest podana, używana jest domyślna.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>ZALOGUJ</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Automatyczne odkrywanie zakończone niepowodzeniem. Otrzymano nieprawidłową odpowiedź.</translation> </message> @@ -765,7 +799,7 @@ Example: https://server.my:8787</source> <translation type="unfinished">Napisz wiadomość…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished">Emoji</translation> </message> @@ -872,7 +906,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Stwórz unikalny profil, który pozwoli Ci na zalogowanie się do kilku kont jednocześnie i uruchomienie wielu instancji Nheko.</translation> </message> @@ -975,7 +1009,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1017,7 +1051,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1117,7 +1151,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished">Redagowanie wiadomości nie powiodło się: %1</translation> </message> @@ -1128,7 +1162,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished">Zapisz obraz</translation> </message> @@ -1148,7 +1182,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1268,12 +1302,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished">Dołączyłeś(-łaś) do tego pokoju.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1355,6 +1389,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1466,7 +1505,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1489,7 +1528,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Zminimalizuj do paska zadań</translation> </message> diff --git a/resources/langs/nheko_pt_PT.ts b/resources/langs/nheko_pt_PT.ts
index 33637f22..31be9ea9 100644 --- a/resources/langs/nheko_pt_PT.ts +++ b/resources/langs/nheko_pt_PT.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation type="unfinished"></translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation type="unfinished"></translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation type="unfinished"></translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished"></translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1265,12 +1299,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1352,6 +1386,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1463,7 +1502,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1486,7 +1525,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_ro.ts b/resources/langs/nheko_ro.ts
index c4e195f5..7b36ea59 100644 --- a/resources/langs/nheko_ro.ts +++ b/resources/langs/nheko_ro.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Te-ai alăturat camerei.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Utilizator invitat: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Toate camerele</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">Toate fișierele (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -599,7 +610,12 @@ Dacă Nheko nu vă poate găsi homeserverul, vă va arăta un câmp pentru intro <translation>Parolă</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Nume dispozitiv</translation> </message> @@ -609,7 +625,17 @@ Dacă Nheko nu vă poate găsi homeserverul, vă va arăta un câmp pentru intro <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>Adresa la care se poate contacta APIul homeserverului dumneavoastră. @@ -617,12 +643,20 @@ Exemplu: https://serverul.meu:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>CONECTARE</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Autodescoperirea a eșuat. Răspunsul primit este defectuos.</translation> </message> @@ -767,7 +801,7 @@ Exemplu: https://serverul.meu:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -874,7 +908,7 @@ Exemplu: https://serverul.meu:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -977,7 +1011,7 @@ Exemplu: https://serverul.meu:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>nicio versiune stocată</translation> </message> @@ -1019,7 +1053,7 @@ Exemplu: https://serverul.meu:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1119,7 +1153,7 @@ Exemplu: https://serverul.meu:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Redactare mesaj eșuată: %1</translation> </message> @@ -1130,7 +1164,7 @@ Exemplu: https://serverul.meu:8787</translation> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Salvați imaginea</translation> </message> @@ -1150,7 +1184,7 @@ Exemplu: https://serverul.meu:8787</translation> <translation>Salvați fișier</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1270,12 +1304,12 @@ Exemplu: https://serverul.meu:8787</translation> <translation>%1 și-a redactat ciocănitul.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Te-ai alăturat camerei.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Ciocănit refuzat de la %1.</translation> </message> @@ -1357,6 +1391,11 @@ Exemplu: https://serverul.meu:8787</translation> <translation>Salvare ca</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Nicio cameră deschisă</translation> @@ -1468,7 +1507,7 @@ Exemplu: https://serverul.meu:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1491,7 +1530,7 @@ Exemplu: https://serverul.meu:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Minimizează în bara de notificări</translation> </message> diff --git a/resources/langs/nheko_ru.ts b/resources/langs/nheko_ru.ts
index 0e3b48f5..21b31b33 100644 --- a/resources/langs/nheko_ru.ts +++ b/resources/langs/nheko_ru.ts
@@ -6,18 +6,18 @@ <message> <location filename="../qml/voip/ActiveCallBar.qml" line="+66"/> <source>Calling...</source> - <translation type="unfinished"></translation> + <translation>Вызов...</translation> </message> <message> <location line="+10"/> <location line="+10"/> <source>Connecting...</source> - <translation type="unfinished"></translation> + <translation>Соединение...</translation> </message> <message> <location line="+76"/> <source>Toggle camera view</source> - <translation type="unfinished"></translation> + <translation>Сменить вид камеры</translation> </message> <message> <location line="+13"/> @@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Вы присоединились к этой комнате.</translation> </message> @@ -61,17 +61,17 @@ <message> <location filename="../qml/voip/CallInvite.qml" line="+66"/> <source>Video Call</source> - <translation type="unfinished">Видео Звонок</translation> + <translation>Видео Звонок</translation> </message> <message> <location line="+0"/> <source>Voice Call</source> - <translation type="unfinished">Голосовой Звонок</translation> + <translation>Голосовой Звонок</translation> </message> <message> <location line="+62"/> <source>No microphone found.</source> - <translation type="unfinished">Микрофон не найден.</translation> + <translation>Микрофон не найден.</translation> </message> </context> <context> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Приглашенный пользователь: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Все комнаты</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Зашифрованное событие (Нет найдено ключей для дешифрования) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Все файлы (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Не удалось загрузить медиа. Пожалуйста попробуйте ещё раз</translation> </message> @@ -599,7 +610,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Пароль</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Имя устройства</translation> </message> @@ -609,7 +625,17 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>Имя устройства, которое будет отображаться для других, когда верифицируют ваше устройство. Если не предоставить имя устройста,то будет использоваться имя по умолчанию.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>Адрес который будет использоваться для связи клиентского API вашего домашнего сервера. @@ -617,12 +643,20 @@ Example: https://server.my:8787</source> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>ВОЙТИ</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Автообноружение не удалось. Получен поврежденный ответ.</translation> </message> @@ -767,7 +801,7 @@ Example: https://server.my:8787</source> <translation>Написать сообщение…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Эмоджи</translation> </message> @@ -874,7 +908,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Создать уникальный профиль, который позволяет вести несколько аккаунтов и запускать множество сущностей nheko. </translation> </message> @@ -977,7 +1011,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>нет сохраненной версии</translation> </message> @@ -1019,7 +1053,7 @@ Example: https://server.my:8787</source> <translation>Добавить или удалить выбранные тэг.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Добавить новый тег для комнаты</translation> @@ -1119,7 +1153,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Ошибка редактирования сообщения: %1</translation> </message> @@ -1130,7 +1164,7 @@ Example: https://server.my:8787</source> <translation>Не удалось зашифровать сообщение, отправка отменена!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Сохранить изображение</translation> </message> @@ -1150,7 +1184,7 @@ Example: https://server.my:8787</source> <translation>Сохранить файл</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1270,12 +1304,12 @@ Example: https://server.my:8787</source> <translation>%1 отредактировал его &quot;стук&quot;.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Вы присоединились к этой комнате.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Отверг &quot;стук&quot; от %1</translation> </message> @@ -1357,6 +1391,11 @@ Example: https://server.my:8787</source> <translation>Сохранить как</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Комната не выбрана</translation> @@ -1468,7 +1507,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation>Верифицировать</translation> </message> @@ -1491,7 +1530,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Сворачивать в системную панель</translation> </message> diff --git a/resources/langs/nheko_si.ts b/resources/langs/nheko_si.ts
index a6e10ad5..6366b35a 100644 --- a/resources/langs/nheko_si.ts +++ b/resources/langs/nheko_si.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation type="unfinished"></translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation type="unfinished"></translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation type="unfinished"></translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation type="unfinished"></translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished"></translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished"></translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1265,12 +1299,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1352,6 +1386,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1463,7 +1502,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1486,7 +1525,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation type="unfinished"></translation> </message> diff --git a/resources/langs/nheko_sv.ts b/resources/langs/nheko_sv.ts
index 70941b51..18266ad4 100644 --- a/resources/langs/nheko_sv.ts +++ b/resources/langs/nheko_sv.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>Du gick med i detta rum.</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>Bjöd in användare: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation>Alla rum</translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation>-- Krypterat Event (Inga nycklar kunde hittas för dekryptering) --</translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation>Alla Filer (*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation>Kunde inte ladda upp media. Vänligen försök igen.</translation> </message> @@ -599,7 +610,12 @@ Om Nheko inte kan hitta din hemserver automatiskt kommer ett fält dyka upp där <translation>Lösenord</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>Enhetsnamn</translation> </message> @@ -609,7 +625,17 @@ Om Nheko inte kan hitta din hemserver automatiskt kommer ett fält dyka upp där <translation>Ett namn för denna enhet. Namnet kommer synas för andra när du verifierar dina enheter. Om du inte förser ett namn kommer ett standardnamn användas.</translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation>Addressen som kan användas för att kontakta din hemservers klient-API. @@ -617,12 +643,20 @@ Exempel: https://server.my:8787</translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>INLOGGNING</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation>Autouppslag misslyckades. Mottog felkonstruerat svar.</translation> </message> @@ -767,7 +801,7 @@ Exempel: https://server.my:8787</translation> <translation>Skriv ett meddelande…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation>Emoji</translation> </message> @@ -874,7 +908,7 @@ Exempel: https://server.my:8787</translation> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation>Skapa en unik profil, vilket tillåter dig att logga in på flera konton samtidigt och starta flera instanser av Nheko.</translation> </message> @@ -977,7 +1011,7 @@ Exempel: https://server.my:8787</translation> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation>ingen version lagrad</translation> </message> @@ -1019,7 +1053,7 @@ Exempel: https://server.my:8787</translation> <translation>Lägger till eller tar bort den angivna taggen.</translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation>Ny tagg…</translation> @@ -1119,7 +1153,7 @@ Exempel: https://server.my:8787</translation> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation>Kunde inte maskera meddelande: %1</translation> </message> @@ -1130,7 +1164,7 @@ Exempel: https://server.my:8787</translation> <translation>Kunde inte kryptera event, sändning avbruten!</translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation>Spara bild</translation> </message> @@ -1150,7 +1184,7 @@ Exempel: https://server.my:8787</translation> <translation>Spara fil</translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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> @@ -1269,12 +1303,12 @@ Exempel: https://server.my:8787</translation> <translation>%1 maskerade sin knackning.</translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation>Du gick med i detta rum.</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation>Avvisade knackningen från %1.</translation> </message> @@ -1356,6 +1390,11 @@ Exempel: https://server.my:8787</translation> <translation>Spara som</translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation>Inget rum öppet</translation> @@ -1467,7 +1506,7 @@ Exempel: https://server.my:8787</translation> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation>Bekräfta</translation> </message> @@ -1490,7 +1529,7 @@ Exempel: https://server.my:8787</translation> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>Minimera till systemtråg</translation> </message> diff --git a/resources/langs/nheko_zh_CN.ts b/resources/langs/nheko_zh_CN.ts
index 2e8b7255..ce25bcbe 100644 --- a/resources/langs/nheko_zh_CN.ts +++ b/resources/langs/nheko_zh_CN.ts
@@ -51,7 +51,7 @@ <context> <name>Cache</name> <message> - <location filename="../../src/Cache.cpp" line="+1951"/> + <location filename="../../src/Cache.cpp" line="+1978"/> <source>You joined this room.</source> <translation>您已加入此房间</translation> </message> @@ -126,7 +126,7 @@ </message> <message> <location line="+4"/> - <location line="+779"/> + <location line="+796"/> <source>Invited user: %1</source> <translation>邀请已发送: %1</translation> </message> @@ -280,7 +280,12 @@ <context> <name>CommunitiesListItem</name> <message> - <location filename="../../src/CommunitiesListItem.cpp" line="+133"/> + <location filename="../../src/CommunitiesListItem.cpp" line="+26"/> + <source>Hide rooms with this tag or from this community</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+153"/> <source>All rooms</source> <translation type="unfinished"></translation> </message> @@ -474,12 +479,18 @@ <context> <name>EventStore</name> <message> - <location filename="../../src/timeline/EventStore.cpp" line="+548"/> + <location filename="../../src/timeline/EventStore.cpp" line="+559"/> <source>-- Encrypted Event (No keys found for decryption) --</source> <comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted.</comment> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>-- Encrypted Event (Key not valid for this index) --</source> + <comment>Placeholder, when the message can&apos;t be decrypted with this key since it is not valid for this index </comment> + <translation type="unfinished"></translation> + </message> + <message> <location line="+32"/> <location line="+63"/> <source>-- Decryption Error (failed to retrieve megolm keys from db) --</source> @@ -557,7 +568,7 @@ <translation type="unfinished">所有文件(*)</translation> </message> <message> - <location line="+334"/> + <location line="+340"/> <source>Failed to upload media. Please try again.</source> <translation type="unfinished"></translation> </message> @@ -596,7 +607,12 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation>密码</translation> </message> <message> - <location line="+5"/> + <location line="+2"/> + <source>Your password.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Device name</source> <translation>设备名</translation> </message> @@ -606,19 +622,37 @@ If Nheko fails to discover your homeserver, it will show you a field to enter th <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+4"/> + <source>Homeserver address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>server.my:8787</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>The address that can be used to contact you homeservers client API. Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> <location line="+19"/> - <location line="+217"/> + <location line="+218"/> <source>LOGIN</source> <translation>登录</translation> </message> <message> - <location line="-104"/> + <location line="-151"/> + <location line="+11"/> + <location line="+157"/> + <location line="+11"/> + <source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-132"/> <source>Autodiscovery failed. Received malformed response.</source> <translation type="unfinished"></translation> </message> @@ -763,7 +797,7 @@ Example: https://server.my:8787</source> <translation>写一条消息…</translation> </message> <message> - <location line="+152"/> + <location line="+170"/> <source>Emoji</source> <translation type="unfinished"></translation> </message> @@ -870,7 +904,7 @@ Example: https://server.my:8787</source> <context> <name>QCoreApplication</name> <message> - <location filename="../../src/main.cpp" line="+182"/> + <location filename="../../src/main.cpp" line="+179"/> <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source> <translation type="unfinished"></translation> </message> @@ -973,7 +1007,7 @@ Example: https://server.my:8787</source> <context> <name>RoomInfo</name> <message> - <location filename="../../src/Cache.cpp" line="+1859"/> + <location filename="../../src/Cache.cpp" line="+1868"/> <source>no version stored</source> <translation type="unfinished"></translation> </message> @@ -1015,7 +1049,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+38"/> + <location line="+39"/> <source>New tag...</source> <comment>Add a new tag to the room</comment> <translation type="unfinished"></translation> @@ -1115,7 +1149,7 @@ Example: https://server.my:8787</source> <context> <name>TimelineModel</name> <message> - <location filename="../../src/timeline/TimelineModel.cpp" line="+864"/> + <location filename="../../src/timeline/TimelineModel.cpp" line="+860"/> <source>Message redaction failed: %1</source> <translation type="unfinished">删除消息失败:%1</translation> </message> @@ -1126,7 +1160,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="+156"/> + <location line="+164"/> <source>Save image</source> <translation type="unfinished">保存图像</translation> </message> @@ -1146,7 +1180,7 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location line="+129"/> + <location line="+143"/> <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"> @@ -1264,12 +1298,12 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> - <location line="-749"/> + <location line="-771"/> <source>You joined this room.</source> <translation type="unfinished">您已加入此房间</translation> </message> <message> - <location line="+751"/> + <location line="+773"/> <source>Rejected the knock from %1.</source> <translation type="unfinished"></translation> </message> @@ -1351,6 +1385,11 @@ Example: https://server.my:8787</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>Open in external program</source> + <translation type="unfinished"></translation> + </message> + <message> <location line="+51"/> <source>No room open</source> <translation type="unfinished"></translation> @@ -1462,7 +1501,7 @@ Example: https://server.my:8787</source> <context> <name>UserProfile</name> <message> - <location filename="../qml/UserProfile.qml" line="+53"/> + <location filename="../qml/UserProfile.qml" line="+54"/> <source>Verify</source> <translation type="unfinished"></translation> </message> @@ -1485,7 +1524,7 @@ Example: https://server.my:8787</source> <context> <name>UserSettingsPage</name> <message> - <location filename="../../src/UserSettingsPage.cpp" line="+781"/> + <location filename="../../src/UserSettingsPage.cpp" line="+794"/> <source>Minimize to tray</source> <translation>最小化至托盘</translation> </message> diff --git a/resources/nheko.appdata.xml b/resources/nheko.appdata.xml
index 1352bb76..5e51abd4 100644 --- a/resources/nheko.appdata.xml +++ b/resources/nheko.appdata.xml
@@ -43,6 +43,7 @@ <url type="homepage">https://github.com/Nheko-Reborn/nheko</url> <update_contact>https://github.com/Nheko-Reborn</update_contact> <releases> + <release date="2021-01-27" version="0.8.1"/> <release date="2021-01-21" version="0.8.0"/> <release date="2020-06-12" version="0.7.2"/> <release date="2020-04-24" version="0.7.1"/> diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml
index 7b71bd7f..27322172 100644 --- a/resources/qml/Completer.qml +++ b/resources/qml/Completer.qml
@@ -11,6 +11,7 @@ Popup { property string completerName property var completer property bool bottomToTop: true + property alias count: listView.count signal completionClicked(string completion) @@ -84,7 +85,7 @@ Popup { anchors.fill: parent hoverEnabled: true - onEntered: popup.currentIndex = model.index + onPositionChanged: popup.currentIndex = model.index onClicked: popup.completionClicked(completer.completionAt(model.index)) Ripple { diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml
index 12362f57..5d335872 100644 --- a/resources/qml/MessageInput.qml +++ b/resources/qml/MessageInput.qml
@@ -162,6 +162,10 @@ Rectangle { if (event.matches(StandardKey.Paste)) { TimelineManager.timeline.input.paste(false); event.accepted = true; + } else if (event.key == Qt.Key_Space) { + if (popup.opened && popup.count <= 0) + popup.close(); + } else if (event.modifiers == Qt.ControlModifier && event.key == Qt.Key_U) { messageInput.clear(); } else if (event.modifiers == Qt.ControlModifier && event.key == Qt.Key_P) { @@ -202,9 +206,12 @@ Rectangle { while (pos > -1) { var t = messageInput.getText(pos, pos + 1); console.log('"' + t + '"'); - if (t == '@' || t == ' ' || t == '\t') { + if (t == '@') { messageInput.openCompleter(pos, "user"); return ; + } else if (t == ' ' || t == '\t') { + messageInput.openCompleter(pos + 1, "user"); + return ; } else if (t == ':') { messageInput.openCompleter(pos, "emoji"); return ; @@ -255,7 +262,7 @@ Rectangle { Connections { ignoreUnknownSignals: true - onReplyChanged: messageInput.forceActiveFocus(); + onReplyChanged: messageInput.forceActiveFocus() target: TimelineManager.timeline } @@ -267,11 +274,6 @@ Rectangle { onClicked: TimelineManager.timeline.input.paste(true) } - NhekoDropArea { - anchors.fill: parent - roomid: TimelineManager.timeline ? TimelineManager.timeline.roomId() : "" - } - } ScrollBar.vertical: ScrollBar { diff --git a/resources/qml/PrivacyScreen.qml b/resources/qml/PrivacyScreen.qml new file mode 100644
index 00000000..76520706 --- /dev/null +++ b/resources/qml/PrivacyScreen.qml
@@ -0,0 +1,126 @@ +import QtGraphicalEffects 1.0 +import QtQuick 2.12 +import im.nheko 1.0 + +Item { + id: privacyScreen + + property var timelineRoot + property int screenTimeout + + Connections { + target: TimelineManager + onFocusChanged: { + if (TimelineManager.isWindowFocused) { + screenSaverTimer.stop(); + screenSaver.state = "Invisible"; + } else { + if (timelineRoot.visible) + screenSaverTimer.start(); + + } + } + } + + Timer { + id: screenSaverTimer + + interval: screenTimeout * 1000 + running: true + onTriggered: { + screenSaver.state = "Visible"; + } + } + + Item { + id: screenSaver + + state: "Invisible" + anchors.fill: parent + visible: false + states: [ + State { + name: "Visible" + + PropertyChanges { + target: screenSaver + visible: true + } + + PropertyChanges { + target: screenSaver + opacity: 1 + } + + }, + State { + name: "Invisible" + + PropertyChanges { + target: screenSaver + opacity: 0 + } + + PropertyChanges { + target: screenSaver + visible: false + } + + } + ] + transitions: [ + Transition { + from: "Visible" + to: "Invisible" + + SequentialAnimation { + NumberAnimation { + target: screenSaver + property: "opacity" + duration: 250 + easing.type: Easing.InQuad + } + + NumberAnimation { + target: screenSaver + property: "visible" + duration: 0 + } + + } + + }, + Transition { + from: "Invisible" + to: "Visible" + + SequentialAnimation { + NumberAnimation { + target: screenSaver + property: "visible" + duration: 0 + } + + NumberAnimation { + target: screenSaver + property: "opacity" + duration: 500 + easing.type: Easing.InQuad + } + + } + + } + ] + + FastBlur { + id: blur + + anchors.fill: parent + source: timelineRoot + radius: 50 + } + + } + +} diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml
index c4c18e0e..95a025cf 100644 --- a/resources/qml/TimelineRow.qml +++ b/resources/qml/TimelineRow.qml
@@ -28,7 +28,7 @@ Item { if (mouse.button === Qt.RightButton) messageContextMenu.show(model.id, model.type, model.isEncrypted, row); else - event.accepted = false; + mouse.accepted = false; } onPressAndHold: { messageContextMenu.show(model.id, model.type, model.isEncrypted, row, mapToItem(timelineRoot, mouse.x, mouse.y)); diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index 2eb0a7c5..c03e8d31 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml
@@ -35,7 +35,7 @@ Page { colors: palette model: EmojiProxyModel { - category: EmojiCategory.People + category: Emoji.Category.People sourceModel: EmojiModel { } @@ -194,6 +194,8 @@ Page { } ColumnLayout { + id: timelineLayout + visible: TimelineManager.timeline != null anchors.fill: parent spacing: 0 @@ -278,6 +280,18 @@ Page { } + NhekoDropArea { + anchors.fill: parent + roomid: TimelineManager.timeline ? TimelineManager.timeline.roomId() : "" + } + + } + + PrivacyScreen { + anchors.fill: parent + visible: Settings.privacyScreen + screenTimeout: Settings.privacyScreenTimeout + timelineRoot: timelineLayout } systemInactive: SystemPalette { diff --git a/resources/qml/UserProfile.qml b/resources/qml/UserProfile.qml
index 65c58382..37ae6de8 100644 --- a/resources/qml/UserProfile.qml +++ b/resources/qml/UserProfile.qml
@@ -10,6 +10,8 @@ ApplicationWindow { property var profile + x: MainWindow.x + (MainWindow.width / 2) - (width / 2) + y: MainWindow.y + (MainWindow.height / 2) - (height / 2) height: 650 width: 420 minimumHeight: 420 @@ -17,6 +19,11 @@ ApplicationWindow { color: colors.window title: profile.isGlobalUserProfile ? "Global User Profile" : "Room User Profile" + Shortcut { + sequence: StandardKey.Cancel + onActivated: userProfileDialog.close() + } + ColumnLayout { id: contentL @@ -84,10 +91,9 @@ ApplicationWindow { font.bold: true Layout.alignment: Qt.AlignHCenter selectByMouse: true - onAccepted: { - profile.changeUsername(displayUsername.text) - displayUsername.isUsernameEditingAllowed = false + profile.changeUsername(displayUsername.text); + displayUsername.isUsernameEditingAllowed = false; } ImageButton { @@ -96,18 +102,18 @@ ApplicationWindow { anchors.left: displayUsername.right anchors.verticalCenter: displayUsername.verticalCenter image: displayUsername.isUsernameEditingAllowed ? ":/icons/icons/ui/checkmark.png" : ":/icons/icons/ui/edit.png" - onClicked: { if (displayUsername.isUsernameEditingAllowed) { - profile.changeUsername(displayUsername.text) - displayUsername.isUsernameEditingAllowed = false + profile.changeUsername(displayUsername.text); + displayUsername.isUsernameEditingAllowed = false; } else { - displayUsername.isUsernameEditingAllowed = true - displayUsername.focus = true - displayUsername.selectAll() + displayUsername.isUsernameEditingAllowed = true; + displayUsername.focus = true; + displayUsername.selectAll(); } } } + } MatrixText { diff --git a/resources/res.qrc b/resources/res.qrc
index e3998bd1..308d81a6 100644 --- a/resources/res.qrc +++ b/resources/res.qrc
@@ -131,6 +131,7 @@ <file>qml/MessageInput.qml</file> <file>qml/MessageView.qml</file> <file>qml/NhekoBusyIndicator.qml</file> + <file>qml/PrivacyScreen.qml</file> <file>qml/Reactions.qml</file> <file>qml/ReplyPopup.qml</file> <file>qml/ScrollHelper.qml</file> diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp
index 07ed3941..db80ecd5 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -333,6 +333,8 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) &ChatPage::initializeMentions, user_mentions_popup_, &popups::UserMentions::initializeMentions); + connect( + this, &ChatPage::chatFocusChanged, view_manager_, &TimelineViewManager::chatFocusChanged); connect(this, &ChatPage::syncUI, this, [this](const mtx::responses::Rooms &rooms) { try { room_list_->cleanupInvites(cache::invites()); diff --git a/src/ChatPage.h b/src/ChatPage.h
index 0516f87d..917bd785 100644 --- a/src/ChatPage.h +++ b/src/ChatPage.h
@@ -127,7 +127,6 @@ public slots: void receivedSessionKey(const std::string &room_id, const std::string &session_id); void decryptDownloadedSecrets(mtx::secret_storage::AesHmacSha2KeyDescription keyDesc, const SecretsToDecrypt &secrets); - signals: void connectionLost(); void connectionRestored(); @@ -176,6 +175,7 @@ signals: void retrievedPresence(const QString &statusMsg, mtx::presence::PresenceState state); void themeChanged(); void decryptSidebarChanged(); + void chatFocusChanged(const bool focused); //! Signals for device verificaiton void receivedDeviceVerificationAccept( diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp
index ec9b856f..15aeb12a 100644 --- a/src/LoginPage.cpp +++ b/src/LoginPage.cpp
@@ -120,7 +120,7 @@ LoginPage::LoginPage(QWidget *parent) password_input_ = new TextField(this); password_input_->setLabel(tr("Password")); password_input_->setEchoMode(QLineEdit::Password); - password_input_->setToolTip("Your password."); + password_input_->setToolTip(tr("Your password.")); deviceName_ = new TextField(this); deviceName_->setLabel(tr("Device name")); @@ -129,8 +129,8 @@ LoginPage::LoginPage(QWidget *parent) "If none is provided a default is used.")); serverInput_ = new TextField(this); - serverInput_->setLabel("Homeserver address"); - serverInput_->setPlaceholderText("matrix.org"); + serverInput_->setLabel(tr("Homeserver address")); + serverInput_->setPlaceholderText(tr("server.my:8787")); serverInput_->setToolTip(tr("The address that can be used to contact you homeservers " "client API.\nExample: https://server.my:8787")); serverInput_->hide(); @@ -217,7 +217,7 @@ LoginPage::onMatrixIdEntered() if (!matrixid_input_->isValid()) { error_matrixid_label_->show(); showError(error_matrixid_label_, - "You have entered an invalid Matrix ID e.g @joe:matrix.org"); + tr("You have entered an invalid Matrix ID e.g @joe:matrix.org")); return; } else { error_matrixid_label_->setText(""); @@ -228,7 +228,7 @@ LoginPage::onMatrixIdEntered() user = parse<User>(matrixid_input_->text().toStdString()); } catch (const std::exception &) { showError(error_matrixid_label_, - "You have entered an invalid Matrix ID e.g @joe:matrix.org"); + tr("You have entered an invalid Matrix ID e.g @joe:matrix.org")); return; } @@ -385,7 +385,7 @@ LoginPage::onLoginButtonClicked() if (!matrixid_input_->isValid()) { error_matrixid_label_->show(); showError(error_matrixid_label_, - "You have entered an invalid Matrix ID e.g @joe:matrix.org"); + tr("You have entered an invalid Matrix ID e.g @joe:matrix.org")); return; } else { error_matrixid_label_->setText(""); @@ -396,7 +396,7 @@ LoginPage::onLoginButtonClicked() user = parse<User>(matrixid_input_->text().toStdString()); } catch (const std::exception &) { showError(error_matrixid_label_, - "You have entered an invalid Matrix ID e.g @joe:matrix.org"); + tr("You have entered an invalid Matrix ID e.g @joe:matrix.org")); return; } diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index 77269008..ab3c2cf2 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp
@@ -59,6 +59,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , userSettings_{UserSettings::instance()} { + instance_ = this; + setWindowTitle(0); setObjectName("MainWindow"); @@ -130,6 +132,9 @@ MainWindow::MainWindow(QWidget *parent) SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); connect(chat_page_, SIGNAL(contentLoaded()), this, SLOT(removeOverlayProgressBar())); + + connect(this, &MainWindow::focusChanged, chat_page_, &ChatPage::chatFocusChanged); + connect( chat_page_, &ChatPage::showUserSettingsPage, this, &MainWindow::showUserSettingsPage); @@ -204,6 +209,19 @@ MainWindow::resizeEvent(QResizeEvent *event) QMainWindow::resizeEvent(event); } +bool +MainWindow::event(QEvent *event) +{ + auto type = event->type(); + if (type == QEvent::WindowActivate) { + emit focusChanged(true); + } else if (type == QEvent::WindowDeactivate) { + emit focusChanged(false); + } + + return QMainWindow::event(event); +} + void MainWindow::adjustSideBars() { @@ -296,8 +314,6 @@ MainWindow::showChatPage() &Cache::secretChanged, userSettingsPage_, &UserSettingsPage::updateSecretStatus); - - instance_ = this; } void diff --git a/src/MainWindow.h b/src/MainWindow.h
index 0915a849..bb219813 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h
@@ -61,10 +61,15 @@ class MainWindow : public QMainWindow { Q_OBJECT + Q_PROPERTY(int x READ x CONSTANT) + Q_PROPERTY(int y READ y CONSTANT) + Q_PROPERTY(int width READ width CONSTANT) + Q_PROPERTY(int height READ height CONSTANT) + public: explicit MainWindow(QWidget *parent = nullptr); - static MainWindow *instance() { return instance_; }; + static MainWindow *instance() { return instance_; } void saveCurrentWindowSize(); void openLeaveRoomDialog(const QString &room_id); @@ -88,6 +93,7 @@ protected: void closeEvent(QCloseEvent *event) override; void resizeEvent(QResizeEvent *event) override; void showEvent(QShowEvent *event) override; + bool event(QEvent *event) override; private slots: //! Show or hide the sidebars based on window's size. @@ -115,6 +121,9 @@ private slots: virtual void setWindowTitle(int notificationCount); +signals: + void focusChanged(const bool focused); + private: bool loadJdenticonPlugin(); diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index 0e3bd667..96c07d7c 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp
@@ -88,14 +88,16 @@ UserSettings::load(std::optional<QString> profile) settings.value("user/timeline/message_hover_highlight", false).toBool(); enlargeEmojiOnlyMessages_ = settings.value("user/timeline/enlarge_emoji_only_msg", false).toBool(); - markdown_ = settings.value("user/markdown_enabled", true).toBool(); - typingNotifications_ = settings.value("user/typing_notifications", true).toBool(); - sortByImportance_ = settings.value("user/sort_by_unread", true).toBool(); - readReceipts_ = settings.value("user/read_receipts", true).toBool(); - theme_ = settings.value("user/theme", defaultTheme_).toString(); - font_ = settings.value("user/font_family", "default").toString(); - avatarCircles_ = settings.value("user/avatar_circles", true).toBool(); - decryptSidebar_ = settings.value("user/decrypt_sidebar", true).toBool(); + markdown_ = settings.value("user/markdown_enabled", true).toBool(); + typingNotifications_ = settings.value("user/typing_notifications", true).toBool(); + sortByImportance_ = settings.value("user/sort_by_unread", true).toBool(); + readReceipts_ = settings.value("user/read_receipts", true).toBool(); + theme_ = settings.value("user/theme", defaultTheme_).toString(); + font_ = settings.value("user/font_family", "default").toString(); + avatarCircles_ = settings.value("user/avatar_circles", true).toBool(); + decryptSidebar_ = settings.value("user/decrypt_sidebar", true).toBool(); + privacyScreen_ = settings.value("user/privacy_screen", false).toBool(); + privacyScreenTimeout_ = settings.value("user/privacy_screen_timeout", 0).toInt(); shareKeysWithTrustedUsers_ = settings.value("user/share_keys_with_trusted_users", true).toBool(); mobileMode_ = settings.value("user/mobile_mode", false).toBool(); @@ -293,6 +295,28 @@ UserSettings::setDecryptSidebar(bool state) } void +UserSettings::setPrivacyScreen(bool state) +{ + if (state == privacyScreen_) { + return; + } + privacyScreen_ = state; + emit privacyScreenChanged(state); + save(); +} + +void +UserSettings::setPrivacyScreenTimeout(int state) +{ + if (state == privacyScreenTimeout_) { + return; + } + privacyScreenTimeout_ = state; + emit privacyScreenTimeoutChanged(state); + save(); +} + +void UserSettings::setFontSize(double size) { if (size == baseFontSize_) @@ -539,6 +563,8 @@ UserSettings::save() settings.setValue("avatar_circles", avatarCircles_); settings.setValue("decrypt_sidebar", decryptSidebar_); + settings.setValue("privacy_screen", privacyScreen_); + settings.setValue("privacy_screen_timeout", privacyScreenTimeout_); settings.setValue("share_keys_with_trusted_users", shareKeysWithTrustedUsers_); settings.setValue("mobile_mode", mobileMode_); settings.setValue("font_size", baseFontSize_); @@ -628,6 +654,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge startInTrayToggle_ = new Toggle{this}; avatarCircles_ = new Toggle{this}; decryptSidebar_ = new Toggle(this); + privacyScreen_ = new Toggle{this}; shareKeysWithTrustedUsers_ = new Toggle(this); groupViewToggle_ = new Toggle{this}; timelineButtonsToggle_ = new Toggle{this}; @@ -651,11 +678,13 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge cameraResolutionCombo_ = new QComboBox{this}; cameraFrameRateCombo_ = new QComboBox{this}; timelineMaxWidthSpin_ = new QSpinBox{this}; + privacyScreenTimeout_ = new QSpinBox{this}; trayToggle_->setChecked(settings_->tray()); startInTrayToggle_->setChecked(settings_->startInTray()); avatarCircles_->setChecked(settings_->avatarCircles()); decryptSidebar_->setChecked(settings_->decryptSidebar()); + privacyScreen_->setChecked(settings_->privacyScreen()); shareKeysWithTrustedUsers_->setChecked(settings_->shareKeysWithTrustedUsers()); groupViewToggle_->setChecked(settings_->groupView()); timelineButtonsToggle_->setChecked(settings_->buttonsInTimeline()); @@ -675,6 +704,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge startInTrayToggle_->setDisabled(true); } + if (!settings_->privacyScreen()) { + privacyScreenTimeout_->setDisabled(true); + } + avatarCircles_->setFixedSize(64, 48); auto uiLabel_ = new QLabel{tr("INTERFACE"), this}; @@ -715,6 +748,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge timelineMaxWidthSpin_->setMaximum(100'000'000); timelineMaxWidthSpin_->setSingleStep(10); + privacyScreenTimeout_->setMinimum(0); + privacyScreenTimeout_->setMaximum(3600); + privacyScreenTimeout_->setSingleStep(10); + auto callsLabel = new QLabel{tr("CALLS"), this}; callsLabel->setFixedHeight(callsLabel->minimumHeight() + LayoutTopMargin); callsLabel->setAlignment(Qt::AlignBottom); @@ -808,6 +845,15 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge decryptSidebar_, tr("Decrypt the messages shown in the sidebar.\nOnly affects messages in " "encrypted chats.")); + boxWrap(tr("Privacy Screen"), + privacyScreen_, + tr("When the window loses focus, the timeline will\nbe blurred.")); + boxWrap( + tr("Privacy screen timeout (in seconds [0 - 3600])"), + privacyScreenTimeout_, + tr("Set timeout (in seconds) for how long after window loses\nfocus before the screen" + " will be blurred.\nSet to 0 to blur immediately after focus loss. Max value of 1 " + "hour (3600 seconds)")); boxWrap(tr("Show buttons in timeline"), timelineButtonsToggle_, tr("Show buttons to quickly reply, react or access additional options next to each " @@ -1066,7 +1112,15 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge connect(decryptSidebar_, &Toggle::toggled, this, [this](bool enabled) { settings_->setDecryptSidebar(enabled); - emit decryptSidebarChanged(); + }); + + connect(privacyScreen_, &Toggle::toggled, this, [this](bool enabled) { + settings_->setPrivacyScreen(enabled); + if (enabled) { + privacyScreenTimeout_->setEnabled(true); + } else { + privacyScreenTimeout_->setDisabled(true); + } }); connect(shareKeysWithTrustedUsers_, &Toggle::toggled, this, [this](bool enabled) { @@ -1122,6 +1176,11 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge this, [this](int newValue) { settings_->setTimelineMaxWidth(newValue); }); + connect(privacyScreenTimeout_, + qOverload<int>(&QSpinBox::valueChanged), + this, + [this](int newValue) { settings_->setPrivacyScreenTimeout(newValue); }); + connect( sessionKeysImportBtn, &QPushButton::clicked, this, &UserSettingsPage::importSessionKeys); @@ -1155,6 +1214,7 @@ UserSettingsPage::showEvent(QShowEvent *) startInTrayToggle_->setState(settings_->startInTray()); groupViewToggle_->setState(settings_->groupView()); decryptSidebar_->setState(settings_->decryptSidebar()); + privacyScreen_->setState(settings_->privacyScreen()); shareKeysWithTrustedUsers_->setState(settings_->shareKeysWithTrustedUsers()); avatarCircles_->setState(settings_->avatarCircles()); typingNotifications_->setState(settings_->typingNotifications()); @@ -1169,6 +1229,7 @@ UserSettingsPage::showEvent(QShowEvent *) enlargeEmojiOnlyMessages_->setState(settings_->enlargeEmojiOnlyMessages()); deviceIdValue_->setText(QString::fromStdString(http::client()->device_id())); timelineMaxWidthSpin_->setValue(settings_->timelineMaxWidth()); + privacyScreenTimeout_->setValue(settings_->privacyScreenTimeout()); WebRTCSession::instance().refreshDevices(); auto mics = diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index 15da235b..b65e1efc 100644 --- a/src/UserSettingsPage.h +++ b/src/UserSettingsPage.h
@@ -67,6 +67,10 @@ class UserSettings : public QObject bool avatarCircles READ avatarCircles WRITE setAvatarCircles NOTIFY avatarCirclesChanged) Q_PROPERTY(bool decryptSidebar READ decryptSidebar WRITE setDecryptSidebar NOTIFY decryptSidebarChanged) + Q_PROPERTY( + bool privacyScreen READ privacyScreen WRITE setPrivacyScreen NOTIFY privacyScreenChanged) + Q_PROPERTY(int privacyScreenTimeout READ privacyScreenTimeout WRITE setPrivacyScreenTimeout + NOTIFY privacyScreenTimeoutChanged) Q_PROPERTY(int timelineMaxWidth READ timelineMaxWidth WRITE setTimelineMaxWidth NOTIFY timelineMaxWidthChanged) Q_PROPERTY(bool mobileMode READ mobileMode WRITE setMobileMode NOTIFY mobileModeChanged) @@ -131,6 +135,8 @@ public: void setAlertOnNotification(bool state); void setAvatarCircles(bool state); void setDecryptSidebar(bool state); + void setPrivacyScreen(bool state); + void setPrivacyScreenTimeout(int state); void setPresence(Presence state); void setRingtone(QString ringtone); void setMicrophone(QString microphone); @@ -154,6 +160,8 @@ public: bool groupView() const { return groupView_; } bool avatarCircles() const { return avatarCircles_; } bool decryptSidebar() const { return decryptSidebar_; } + bool privacyScreen() const { return privacyScreen_; } + int privacyScreenTimeout() const { return privacyScreenTimeout_; } bool markdown() const { return markdown_; } bool typingNotifications() const { return typingNotifications_; } bool sortByImportance() const { return sortByImportance_; } @@ -201,6 +209,8 @@ signals: void alertOnNotificationChanged(bool state); void avatarCirclesChanged(bool state); void decryptSidebarChanged(bool state); + void privacyScreenChanged(bool state); + void privacyScreenTimeoutChanged(int state); void timelineMaxWidthChanged(int state); void mobileModeChanged(bool mode); void fontSizeChanged(double state); @@ -241,6 +251,8 @@ private: bool hasAlertOnNotification_; bool avatarCircles_; bool decryptSidebar_; + bool privacyScreen_; + int privacyScreenTimeout_; bool shareKeysWithTrustedUsers_; bool mobileMode_; int timelineMaxWidth_; @@ -320,6 +332,8 @@ private: Toggle *avatarCircles_; Toggle *useStunServer_; Toggle *decryptSidebar_; + Toggle *privacyScreen_; + QSpinBox *privacyScreenTimeout_; Toggle *shareKeysWithTrustedUsers_; Toggle *mobileMode_; QLabel *deviceFingerprintValue_; diff --git a/src/Utils.cpp b/src/Utils.cpp
index 3bb090df..5af5748e 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp
@@ -55,8 +55,7 @@ utils::codepointIsEmoji(uint code) { // TODO: Be more precise here. return (code >= 0x2600 && code <= 0x27bf) || (code >= 0x2b00 && code <= 0x2bff) || - (code >= 0x1f300 && code <= 0x1f3ff) || (code >= 0x1f000 && code <= 0x1faff) || - code == 0x200d; + (code >= 0x1f000 && code <= 0x1faff) || code == 0x200d || code == 0xfe0f; } QString diff --git a/src/timeline/EventStore.cpp b/src/timeline/EventStore.cpp
index b16bf1d2..be4bc09e 100644 --- a/src/timeline/EventStore.cpp +++ b/src/timeline/EventStore.cpp
@@ -242,9 +242,12 @@ EventStore::receivedSessionKey(const std::string &session_id) return; auto request = pending_key_requests.at(session_id); - pending_key_requests.erase(session_id); - olm::send_key_request_for(request.events.front(), request.request_id, true); + // Don't request keys again until Nheko is restarted (for now) + pending_key_requests[session_id].events.clear(); + + if (!request.events.empty()) + olm::send_key_request_for(request.events.front(), request.request_id, true); for (const auto &e : request.events) { auto idx = idToIndex(e.event_id); @@ -778,7 +781,8 @@ EventStore::fetchMore() if (cache::client()->previousBatchToken(room_id_) != opts.from) { nhlog::net()->warn("Cache cleared while fetching more messages, dropping " "/messages response"); - emit fetchedMore(); + if (!opts.to.empty()) + emit fetchedMore(); return; } if (err) { diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index 97af0065..93451976 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp
@@ -128,6 +128,10 @@ TimelineViewManager::TimelineViewManager(CallManager *callManager, ChatPage *par "UserProfile needs to be instantiated on the C++ side"); static auto self = this; + qmlRegisterSingletonType<MainWindow>( + "im.nheko", 1, 0, "MainWindow", [](QQmlEngine *, QJSEngine *) -> QObject * { + return MainWindow::instance(); + }); qmlRegisterSingletonType<TimelineViewManager>( "im.nheko", 1, 0, "TimelineManager", [](QQmlEngine *, QJSEngine *) -> QObject * { return self; diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index 23a960b8..74128865 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h
@@ -36,6 +36,8 @@ class TimelineViewManager : public QObject bool isInitialSync MEMBER isInitialSync_ READ isInitialSync NOTIFY initialSyncChanged) Q_PROPERTY( bool isNarrowView MEMBER isNarrowView_ READ isNarrowView NOTIFY narrowViewChanged) + Q_PROPERTY( + bool isWindowFocused MEMBER isWindowFocused_ READ isWindowFocused NOTIFY focusChanged) public: TimelineViewManager(CallManager *callManager, ChatPage *parent = nullptr); @@ -54,6 +56,7 @@ public: Q_INVOKABLE TimelineModel *activeTimeline() const { return timeline_; } Q_INVOKABLE bool isInitialSync() const { return isInitialSync_; } bool isNarrowView() const { return isNarrowView_; } + bool isWindowFocused() const { return isWindowFocused_; } Q_INVOKABLE void openImageOverlay(QString mxcUrl, QString eventId) const; Q_INVOKABLE QColor userColor(QString id, QColor background); Q_INVOKABLE QString escapeEmoji(QString str) const; @@ -83,11 +86,17 @@ signals: void inviteUsers(QStringList users); void showRoomList(); void narrowViewChanged(); + void focusChanged(); public slots: void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids); void receivedSessionKey(const std::string &room_id, const std::string &session_id); void initWithMessages(const std::vector<QString> &roomIds); + void chatFocusChanged(bool focused) + { + isWindowFocused_ = focused; + emit focusChanged(); + } void setHistoryView(const QString &room_id); TimelineModel *getHistoryView(const QString &room_id) @@ -145,8 +154,9 @@ private: TimelineModel *timeline_ = nullptr; CallManager *callManager_ = nullptr; - bool isInitialSync_ = true; - bool isNarrowView_ = false; + bool isInitialSync_ = true; + bool isNarrowView_ = false; + bool isWindowFocused_ = false; QHash<QString, QColor> userColors; diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index 715c1c42..274ed927 100644 --- a/src/ui/UserProfile.cpp +++ b/src/ui/UserProfile.cpp
@@ -244,7 +244,7 @@ UserProfile::changeUsername(QString username) if (isGlobalUserProfile()) { // change global http::client()->set_displayname( - username.toStdString(), [this](mtx::http::RequestErr err) { + username.toStdString(), [](mtx::http::RequestErr err) { if (err) { nhlog::net()->warn("could not change username"); return; @@ -408,4 +408,4 @@ UserProfile::getGlobalProfileData() globalAvatarUrl = QString::fromStdString(res.avatar_url); emit avatarUrlChanged(); }); -} \ No newline at end of file +}