Compare commits
53 Commits
work/thiag
...
work/thiag
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67b54cc112 | ||
|
|
39046632aa | ||
|
|
fbb2afdb49 | ||
|
|
aff0402f71 | ||
|
|
cee9058c77 | ||
|
|
3f922b4c90 | ||
|
|
02d2d31cf3 | ||
|
|
240cf6a0ed | ||
|
|
dcd9ee93de | ||
|
|
2a8cd74ab1 | ||
|
|
63bc7055c2 | ||
|
|
1cca9733d6 | ||
|
|
1104da5e2c | ||
|
|
3a9718c09d | ||
|
|
55362c5573 | ||
|
|
0bba2299b3 | ||
|
|
45685af9e9 | ||
|
|
6c416a9338 | ||
|
|
1b0027e1d2 | ||
|
|
2409adf516 | ||
|
|
554801dfe4 | ||
|
|
20c23917e9 | ||
|
|
ef953b7574 | ||
|
|
6b79795229 | ||
|
|
9cb7ec2348 | ||
|
|
437c981d30 | ||
|
|
0334cae4c8 | ||
|
|
24c405d747 | ||
|
|
a3f5962809 | ||
|
|
0deb7495f0 | ||
|
|
d34f89fc4b | ||
|
|
a909ed498f | ||
|
|
16f4e17e8f | ||
|
|
0e9592a96c | ||
|
|
704ee6a53a | ||
|
|
5b9afbce9a | ||
|
|
396cc8e8ef | ||
|
|
bf776b5c06 | ||
|
|
be319f88d3 | ||
|
|
af40d555d4 | ||
|
|
f802dbe686 | ||
|
|
2379e3d83b | ||
|
|
9e90ac0412 | ||
|
|
c27948ca3c | ||
|
|
c3b9d664df | ||
|
|
31ef0a5223 | ||
|
|
14c58acea1 | ||
|
|
5dae20603e | ||
|
|
3f6fa94289 | ||
|
|
117615a8b0 | ||
|
|
4a52773c7d | ||
|
|
edfee495c6 | ||
|
|
7d112df7c6 |
@@ -535,7 +535,7 @@ void TextHandlerTest::componentOutput_data()
|
||||
QVariantMap{{QStringLiteral("class"), QStringLiteral("html")}}}};
|
||||
QTest::newRow("quote") << QStringLiteral("<p>Text</p>\n<blockquote>\n<p>blockquote</p>\n</blockquote>")
|
||||
<< QList<MessageComponent>{MessageComponent{MessageComponentType::Text, QStringLiteral("Text"), {}},
|
||||
MessageComponent{MessageComponentType::Quote, QStringLiteral("\"blockquote\""), {}}};
|
||||
MessageComponent{MessageComponentType::Quote, QStringLiteral("“blockquote”"), {}}};
|
||||
QTest::newRow("no tag first paragraph") << QStringLiteral("Text\n<p>Text</p>")
|
||||
<< QList<MessageComponent>{MessageComponent{MessageComponentType::Text, QStringLiteral("Text"), {}},
|
||||
MessageComponent{MessageComponentType::Text, QStringLiteral("Text"), {}}};
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
<summary xml:lang="eu">Berriketa Matrix-en</summary>
|
||||
<summary xml:lang="fr">Discuter sur Matrix</summary>
|
||||
<summary xml:lang="gl">Charlar en Matrix</summary>
|
||||
<summary xml:lang="hu">Csevegés Matrixon</summary>
|
||||
<summary xml:lang="ia">Conversation en ditecto sur Matrix</summary>
|
||||
<summary xml:lang="it">Chat su Matrix</summary>
|
||||
<summary xml:lang="ka">ისაუბრეთ Matrix-ზე</summary>
|
||||
|
||||
@@ -89,16 +89,20 @@ GenericName[zh_CN]=Matrix 客户端
|
||||
GenericName[zh_TW]=Matrix 用戶端
|
||||
Comment=Chat on Matrix
|
||||
Comment[ca]=Xat a Matrix
|
||||
Comment[ca@valencia]=Xat a Matrix
|
||||
Comment[en_GB]=Chat on Matrix
|
||||
Comment[es]=Chat en Matrix
|
||||
Comment[eu]=Berriketa Matrix-en
|
||||
Comment[fr]=Clavarder sur Matrix
|
||||
Comment[gl]=Charle en Matrix
|
||||
Comment[hu]=Csevegés Matrixon
|
||||
Comment[ia]=Conversation en ditecto sur Matrix
|
||||
Comment[it]= su Matrix
|
||||
Comment[ka]=ჩატი Matrix-ზე
|
||||
Comment[nl]=Chat op Matrix
|
||||
Comment[pl]=Rozmawiaj na Matriksie
|
||||
Comment[sl]=Klepet na Matrixu
|
||||
Comment[ta]=மேட்ரிக்ஸில் உரையாட உதவும்
|
||||
Comment[tr]=Matrix Üzerinde Sohbet Et
|
||||
Comment[uk]=Спілкування у Matrix
|
||||
Comment[x-test]=xxChat on Matrixxx
|
||||
|
||||
403
po/ar/neochat.po
403
po/ar/neochat.po
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: neochat\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2024-11-13 00:40+0000\n"
|
||||
"POT-Creation-Date: 2024-11-19 00:40+0000\n"
|
||||
"PO-Revision-Date: 2023-12-12 01:02+0100\n"
|
||||
"Last-Translator: Enol P. <enolp@softastur.org>\n"
|
||||
"Language-Team: Asturian <alministradores@softastur.org>\n"
|
||||
@@ -47,33 +47,33 @@ msgstr ""
|
||||
msgid "Send message"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send an encrypted message…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Set an attachment caption…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send a message…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:376
|
||||
#: src/chatbar/ChatBar.qml:375
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Cancel reply"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No stickers"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No emojis"
|
||||
msgstr ""
|
||||
@@ -910,7 +910,7 @@ msgstr ""
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Loading.qml:16
|
||||
#: src/login/Loading.qml:17
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Please wait while your messages are loaded from the server. This might take "
|
||||
@@ -934,7 +934,7 @@ msgstr ""
|
||||
msgid "Loading…"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:232
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:249
|
||||
#: src/settings/ThreePIdCard.qml:183
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -976,7 +976,7 @@ msgstr ""
|
||||
msgid "Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:152
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:154
|
||||
#: src/settings/NetworkProxyPage.qml:122
|
||||
#, kde-format
|
||||
msgid "Password"
|
||||
@@ -1030,47 +1030,47 @@ msgstr ""
|
||||
msgid "Username unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:25
|
||||
#: src/login/WelcomePage.qml:26
|
||||
#, kde-format
|
||||
msgid "Welcome"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:73 src/main.cpp:141
|
||||
#: src/login/WelcomePage.qml:74 src/main.cpp:141
|
||||
#, kde-format
|
||||
msgid "NeoChat"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:81
|
||||
#: src/login/WelcomePage.qml:82
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Continue with an existing account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:115
|
||||
#: src/login/WelcomePage.qml:132
|
||||
#, kde-format
|
||||
msgctxt "As in 'this account is still loading'"
|
||||
msgid "%1 (loading)"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:124
|
||||
#: src/login/WelcomePage.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Log out of this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:153
|
||||
#: src/login/WelcomePage.qml:170
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Log in or Create a New Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:240
|
||||
#: src/login/WelcomePage.qml:257
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Go back"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:252
|
||||
#: src/login/WelcomePage.qml:269
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Settings"
|
||||
@@ -1850,7 +1850,7 @@ msgstr ""
|
||||
msgid "Open NeoChat in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:110
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:111
|
||||
#: src/qml/HoverActions.qml:123
|
||||
#, kde-format
|
||||
msgid "Reply"
|
||||
@@ -1905,58 +1905,58 @@ msgctxt "@action:button"
|
||||
msgid "Show QR code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:39 src/qml/UserInfo.qml:46
|
||||
#: src/qml/AccountMenu.qml:40 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:44 src/settings/AccountsPage.qml:33
|
||||
#: src/qml/AccountMenu.qml:45 src/settings/AccountsPage.qml:33
|
||||
#: src/settings/AccountsPage.qml:50
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:48
|
||||
#: src/qml/AccountMenu.qml:49
|
||||
#, kde-format
|
||||
msgid "Notification settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:55 src/settings/DevicesPage.qml:17
|
||||
#: src/qml/AccountMenu.qml:56 src/settings/DevicesPage.qml:17
|
||||
#: src/settings/NeoChatSettingsView.qml:89
|
||||
#, kde-format
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:62 src/settings/NeoChatGeneralPage.qml:269
|
||||
#: src/qml/AccountMenu.qml:63 src/settings/NeoChatGeneralPage.qml:269
|
||||
#, kde-format
|
||||
msgid "Open developer tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:68
|
||||
#: src/qml/AccountMenu.qml:69
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Developer Tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:74
|
||||
#: src/qml/AccountMenu.qml:75
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Secret Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:78
|
||||
#: src/qml/AccountMenu.qml:79
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Open Key Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:82
|
||||
#: src/qml/AccountMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Verify this Device"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:88 src/settings/AccountsPage.qml:87
|
||||
#: src/qml/AccountMenu.qml:89 src/settings/AccountsPage.qml:88
|
||||
#, kde-format
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
@@ -2007,7 +2007,7 @@ msgid "Attachment:"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AttachmentPane.qml:38 src/qml/HoverActions.qml:106
|
||||
#: src/qml/ImageEditorPage.qml:21 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:20 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@@ -2139,61 +2139,29 @@ msgctxt "@action:button"
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:43 src/qml/ContextMenu.qml:204
|
||||
#: src/qml/ContextMenu.qml:31 src/qml/ContextMenu.qml:209
|
||||
#, kde-format
|
||||
msgid "Mark as Read"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:49
|
||||
#: src/qml/ContextMenu.qml:40
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:49 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:61
|
||||
#, kde-format
|
||||
msgid "Notification State"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:65
|
||||
#: src/qml/ContextMenu.qml:44
|
||||
#, kde-format
|
||||
msgid "Follow Global Setting"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:76 src/settings/PushNotification.qml:39
|
||||
#: src/qml/ContextMenu.qml:55 src/settings/PushNotification.qml:39
|
||||
#, kde-format
|
||||
msgctxt "As in 'notify for all messages'"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:87 src/settings/PushNotification.qml:47
|
||||
#: src/qml/ContextMenu.qml:66 src/settings/PushNotification.qml:47
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"As in 'notify when the user is mentioned or the message contains a set "
|
||||
@@ -2201,34 +2169,67 @@ msgctxt ""
|
||||
msgid "@Mentions and Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:98 src/settings/PushNotification.qml:55
|
||||
#: src/qml/ContextMenu.qml:77 src/settings/PushNotification.qml:55
|
||||
#, kde-format
|
||||
msgctxt "As in 'do not notify for any messages'"
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:111
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:104
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:104 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:116
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Room Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:121 src/qml/ContextMenu.qml:211
|
||||
#: src/qml/ContextMenu.qml:126 src/qml/ContextMenu.qml:216
|
||||
#, kde-format
|
||||
msgid "Leave Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Remove from Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Add to Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#: src/qml/ContextMenu.qml:192
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room Settings"
|
||||
@@ -2351,74 +2352,74 @@ msgctxt "@action:button"
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:83
|
||||
#: src/qml/DelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgid "View Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:90 src/settings/ThreePIdCard.qml:66
|
||||
#: src/qml/DelegateContextMenu.qml:91 src/settings/ThreePIdCard.qml:66
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:95 src/qml/DelegateContextMenu.qml:100
|
||||
#: src/qml/FileDelegateContextMenu.qml:76
|
||||
#: src/qml/FileDelegateContextMenu.qml:81
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/DelegateContextMenu.qml:101
|
||||
#: src/qml/FileDelegateContextMenu.qml:82
|
||||
#: src/qml/FileDelegateContextMenu.qml:87
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/FileDelegateContextMenu.qml:77
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:78
|
||||
#: src/qml/DelegateContextMenu.qml:98 src/qml/FileDelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove this message'"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:120 src/qml/DelegateContextMenu.qml:128
|
||||
#: src/qml/DelegateContextMenu.qml:121 src/qml/DelegateContextMenu.qml:129
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"@action:button 'Report' as in 'Report this event to the administrators'"
|
||||
msgid "Report"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:125
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Report Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#: src/qml/DelegateContextMenu.qml:127
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:130
|
||||
#: src/qml/DelegateContextMenu.qml:131
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Report Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:140
|
||||
#: src/qml/DelegateContextMenu.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Show User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:188
|
||||
#: src/qml/DelegateContextMenu.qml:204
|
||||
#, kde-format
|
||||
msgid "Search for '%1'"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:210
|
||||
#: src/qml/DelegateContextMenu.qml:226
|
||||
#, kde-format
|
||||
msgid "Configure Web Shortcuts..."
|
||||
msgstr ""
|
||||
@@ -2613,23 +2614,25 @@ msgctxt "@info:label"
|
||||
msgid "No public rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:46
|
||||
#: src/qml/FileDelegateContextMenu.qml:50
|
||||
#, kde-format
|
||||
msgid "Open Externally"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:53
|
||||
#: src/qml/FileDelegateContextMenu.qml:57
|
||||
#, kde-format
|
||||
msgid "Save As"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Save Image…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:63
|
||||
#: src/qml/MessageDelegateContextMenu.qml:64
|
||||
#: src/qml/FileDelegateContextMenu.qml:66
|
||||
#, kde-format
|
||||
msgid "Copy"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:71
|
||||
#: src/qml/FileDelegateContextMenu.qml:77
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
@@ -2779,55 +2782,55 @@ msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:36
|
||||
#, kde-format
|
||||
msgctxt "@action:button Undo modification"
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:44
|
||||
#: src/qml/ImageEditorPage.qml:43
|
||||
#, kde-format
|
||||
msgctxt "@action:button Accept image modification"
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:52
|
||||
#: src/qml/ImageEditorPage.qml:51
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Unable to save file. Check if you have the correct permission to edit the "
|
||||
"cache directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124
|
||||
#: src/qml/ImageEditorPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124 src/qml/ImageEditorPage.qml:140
|
||||
#: src/qml/ImageEditorPage.qml:123 src/qml/ImageEditorPage.qml:139
|
||||
#, kde-format
|
||||
msgctxt "@action:button Crop an image"
|
||||
msgid "Crop"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:145
|
||||
#: src/qml/ImageEditorPage.qml:144
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the left"
|
||||
msgid "Rotate left"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:151
|
||||
#: src/qml/ImageEditorPage.qml:150
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the right"
|
||||
msgid "Rotate right"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:157
|
||||
#: src/qml/ImageEditorPage.qml:156
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image vertically"
|
||||
msgid "Flip"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:163
|
||||
#: src/qml/ImageEditorPage.qml:162
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image horizontally"
|
||||
msgid "Mirror"
|
||||
@@ -3055,7 +3058,7 @@ msgstr ""
|
||||
#: src/qml/MessageDelegateContextMenu.qml:47
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu As in 'Forward this message'"
|
||||
msgid "Forward"
|
||||
msgid "Forward…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:53
|
||||
@@ -3064,9 +3067,16 @@ msgctxt "@title"
|
||||
msgid "Forward Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:67
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Text"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:72
|
||||
#, kde-format
|
||||
msgid "Copy Link"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Message Link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageSourceSheet.qml:46
|
||||
@@ -3161,7 +3171,7 @@ msgctxt "@action:button"
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RecommendedSpaceDialog.qml:61
|
||||
#: src/qml/RecommendedSpaceDialog.qml:63
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Ignore"
|
||||
@@ -3195,18 +3205,18 @@ msgstr ""
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:111 src/qml/RoomDrawerPage.qml:45
|
||||
#: src/qml/RoomDrawer.qml:114 src/qml/RoomDrawerPage.qml:45
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:160 src/qml/RoomDrawerPage.qml:85
|
||||
#: src/qml/RoomDrawer.qml:163 src/qml/RoomDrawerPage.qml:85
|
||||
#, kde-format
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:165 src/qml/RoomDrawerPage.qml:90
|
||||
#: src/qml/RoomDrawer.qml:168 src/qml/RoomDrawerPage.qml:90
|
||||
#, kde-format
|
||||
msgid "Media"
|
||||
msgstr ""
|
||||
@@ -3220,7 +3230,7 @@ msgstr ""
|
||||
#: src/qml/RoomInformation.qml:42
|
||||
#, kde-format
|
||||
msgctxt "@action:title"
|
||||
msgid "Room information"
|
||||
msgid "Room Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:70
|
||||
@@ -3261,6 +3271,12 @@ msgstr ""
|
||||
msgid "Show locations for this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136 src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Leave this space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -3332,7 +3348,7 @@ msgctxt "@action:title"
|
||||
msgid "Room Media"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomPage.qml:93
|
||||
#: src/qml/RoomPage.qml:92
|
||||
#, kde-format
|
||||
msgid "NeoChat is offline. Please check your network connection."
|
||||
msgstr ""
|
||||
@@ -3570,12 +3586,6 @@ msgctxt "@button"
|
||||
msgid "Invite user to space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@button"
|
||||
msgid "Leave the space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:76 src/qml/SpaceListContextMenu.qml:48
|
||||
#: src/qml/SpaceListContextMenu.qml:130
|
||||
#, kde-format
|
||||
@@ -3629,7 +3639,7 @@ msgid_plural "%2 are typing"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/qml/UnlockSSSSDialog.qml:17
|
||||
#: src/qml/UnlockSSSSDialog.qml:16
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Load your encrypted messages"
|
||||
@@ -3717,129 +3727,129 @@ msgctxt "@title:menu Account details dialog"
|
||||
msgid "Account Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Unignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Ignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:122
|
||||
#: src/qml/UserDetailDialog.qml:124
|
||||
#, kde-format
|
||||
msgid "Kick this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:126 src/qml/UserDetailDialog.qml:131
|
||||
#: src/qml/UserDetailDialog.qml:128 src/qml/UserDetailDialog.qml:133
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Kick User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:127
|
||||
#: src/qml/UserDetailDialog.qml:129
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for kicking this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:128
|
||||
#: src/qml/UserDetailDialog.qml:130
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Kick' as in 'Kick this user from the room'"
|
||||
msgid "Kick"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:147
|
||||
#: src/qml/UserDetailDialog.qml:149
|
||||
#, kde-format
|
||||
msgid "Invite this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:160
|
||||
#: src/qml/UserDetailDialog.qml:162
|
||||
#, kde-format
|
||||
msgid "Ban this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:165 src/qml/UserDetailDialog.qml:170
|
||||
#: src/qml/UserDetailDialog.qml:167 src/qml/UserDetailDialog.qml:172
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Ban User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:166
|
||||
#: src/qml/UserDetailDialog.qml:168
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for banning this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:167
|
||||
#: src/qml/UserDetailDialog.qml:169
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Ban' as in 'Ban this user'"
|
||||
msgid "Ban"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:185
|
||||
#: src/qml/UserDetailDialog.qml:187
|
||||
#, kde-format
|
||||
msgid "Unban this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:198
|
||||
#: src/qml/UserDetailDialog.qml:200
|
||||
#, kde-format
|
||||
msgid "Set user power level"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:223
|
||||
#: src/qml/UserDetailDialog.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove recent messages by this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:228
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:229
|
||||
#: src/qml/UserDetailDialog.qml:231
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this user's recent messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#: src/qml/UserDetailDialog.qml:232
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove these messages'"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:233
|
||||
#: src/qml/UserDetailDialog.qml:235
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Remove Messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgctxt "%1 is the name of the user."
|
||||
msgid "Chat with %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgid "Invite to private chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:258
|
||||
#: src/qml/UserDetailDialog.qml:260
|
||||
#, kde-format
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#: src/qml/UserInfo.qml:92
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:100
|
||||
#: src/qml/UserInfo.qml:101
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr ""
|
||||
@@ -4057,7 +4067,7 @@ msgstr ""
|
||||
msgid "Working"
|
||||
msgstr ""
|
||||
|
||||
#: src/roommanager.cpp:146
|
||||
#: src/roommanager.cpp:145
|
||||
#, kde-format
|
||||
msgid "Malformed or empty Matrix id<br />%1 is not a correct Matrix identifier"
|
||||
msgstr ""
|
||||
@@ -4082,126 +4092,126 @@ msgstr ""
|
||||
msgid "Edit Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:61
|
||||
#: src/settings/AccountEditorPage.qml:62
|
||||
#, kde-format
|
||||
msgid "Upload new avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:78
|
||||
#: src/settings/AccountEditorPage.qml:79
|
||||
#, kde-format
|
||||
msgid "Remove current avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:101
|
||||
#: src/settings/AccountEditorPage.qml:102
|
||||
#, kde-format
|
||||
msgid "User Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:106
|
||||
#: src/settings/AccountEditorPage.qml:107
|
||||
#, kde-format
|
||||
msgid "Display Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:112
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Label:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#: src/settings/AccountEditorPage.qml:114
|
||||
#, kde-format
|
||||
msgid "Work"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:118
|
||||
#: src/settings/AccountEditorPage.qml:119
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:135
|
||||
#: src/settings/AccountEditorPage.qml:191
|
||||
#: src/settings/AccountEditorPage.qml:137
|
||||
#: src/settings/AccountEditorPage.qml:193
|
||||
#: src/settings/EmoticonEditorPage.qml:108 src/settings/RoomGeneralPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:157
|
||||
#: src/settings/AccountEditorPage.qml:159
|
||||
#, kde-format
|
||||
msgid "Your server doesn't support changing your password"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:164
|
||||
#: src/settings/AccountEditorPage.qml:166
|
||||
#, kde-format
|
||||
msgid "Current Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:171
|
||||
#: src/settings/AccountEditorPage.qml:173
|
||||
#, kde-format
|
||||
msgid "New Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:178
|
||||
#: src/settings/AccountEditorPage.qml:180
|
||||
#, kde-format
|
||||
msgid "Confirm new Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:183
|
||||
#: src/settings/AccountEditorPage.qml:185
|
||||
#, kde-format
|
||||
msgid "Passwords don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:198
|
||||
#: src/settings/AccountEditorPage.qml:200
|
||||
#, kde-format
|
||||
msgid "Passwords do not match"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:205
|
||||
#: src/settings/AccountEditorPage.qml:207
|
||||
#, kde-format
|
||||
msgid "Email Addresses"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:211
|
||||
#: src/settings/AccountEditorPage.qml:213
|
||||
#, kde-format
|
||||
msgid "Phone Numbers"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:216
|
||||
#: src/settings/AccountEditorPage.qml:218
|
||||
#, kde-format
|
||||
msgid "Identity Server"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:225
|
||||
#: src/settings/AccountEditorPage.qml:227
|
||||
#, kde-format
|
||||
msgid "Server Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:229
|
||||
#: src/settings/AccountEditorPage.qml:231
|
||||
#, kde-format
|
||||
msgid "Homeserver url"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:250
|
||||
#: src/settings/AccountEditorPage.qml:252
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Account Management"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:255
|
||||
#: src/settings/AccountEditorPage.qml:257
|
||||
#, kde-format
|
||||
msgid "Deactivate Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:271
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Password changed successfully"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#, kde-format
|
||||
msgid "Wrong password entered"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#: src/settings/AccountEditorPage.qml:277
|
||||
#, kde-format
|
||||
msgid "Unknown problem while trying to change password"
|
||||
msgstr ""
|
||||
@@ -4212,7 +4222,7 @@ msgstr ""
|
||||
msgid "Accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountsPage.qml:117
|
||||
#: src/settings/AccountsPage.qml:118
|
||||
#, kde-format
|
||||
msgid "Add Account"
|
||||
msgstr ""
|
||||
@@ -4442,7 +4452,7 @@ msgctxt "@title"
|
||||
msgid "Stickers & Emojis"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/ExportKeysDialog.qml:18
|
||||
#: src/settings/ExportKeysDialog.qml:17
|
||||
#: src/settings/NeoChatSecurityPage.qml:107
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -4591,7 +4601,7 @@ msgctxt "@action:button"
|
||||
msgid "Unignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/ImportKeysDialog.qml:22 src/settings/NeoChatSecurityPage.qml:84
|
||||
#: src/settings/ImportKeysDialog.qml:21 src/settings/NeoChatSecurityPage.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Import Keys"
|
||||
@@ -4755,7 +4765,7 @@ msgctxt "@action:button"
|
||||
msgid "Reset all configuration values to their default"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/NeoChatSecurityPage.qml:19
|
||||
#: src/settings/NeoChatSecurityPage.qml:18
|
||||
#: src/settings/NeoChatSettingsView.qml:51
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
|
||||
397
po/az/neochat.po
397
po/az/neochat.po
File diff suppressed because it is too large
Load Diff
383
po/ca/neochat.po
383
po/ca/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
401
po/cs/neochat.po
401
po/cs/neochat.po
File diff suppressed because it is too large
Load Diff
391
po/da/neochat.po
391
po/da/neochat.po
File diff suppressed because it is too large
Load Diff
403
po/de/neochat.po
403
po/de/neochat.po
File diff suppressed because it is too large
Load Diff
402
po/el/neochat.po
402
po/el/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
405
po/eo/neochat.po
405
po/eo/neochat.po
File diff suppressed because it is too large
Load Diff
403
po/es/neochat.po
403
po/es/neochat.po
File diff suppressed because it is too large
Load Diff
383
po/eu/neochat.po
383
po/eu/neochat.po
File diff suppressed because it is too large
Load Diff
404
po/fi/neochat.po
404
po/fi/neochat.po
File diff suppressed because it is too large
Load Diff
405
po/fr/neochat.po
405
po/fr/neochat.po
File diff suppressed because it is too large
Load Diff
403
po/gl/neochat.po
403
po/gl/neochat.po
File diff suppressed because it is too large
Load Diff
478
po/hu/neochat.po
478
po/hu/neochat.po
File diff suppressed because it is too large
Load Diff
403
po/ia/neochat.po
403
po/ia/neochat.po
File diff suppressed because it is too large
Load Diff
407
po/id/neochat.po
407
po/id/neochat.po
File diff suppressed because it is too large
Load Diff
395
po/ie/neochat.po
395
po/ie/neochat.po
File diff suppressed because it is too large
Load Diff
405
po/it/neochat.po
405
po/it/neochat.po
File diff suppressed because it is too large
Load Diff
356
po/ja/neochat.po
356
po/ja/neochat.po
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: neochat\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2024-11-13 00:40+0000\n"
|
||||
"POT-Creation-Date: 2024-11-19 00:40+0000\n"
|
||||
"PO-Revision-Date: 2020-11-05 23:50-0800\n"
|
||||
"Last-Translator: Japanese KDE translation team <kde-jp@kde.org>\n"
|
||||
"Language-Team: Japanese <kde-jp@kde.org>\n"
|
||||
@@ -44,33 +44,33 @@ msgstr ""
|
||||
msgid "Send message"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send an encrypted message…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Set an attachment caption…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send a message…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:376
|
||||
#: src/chatbar/ChatBar.qml:375
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Cancel reply"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No stickers"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No emojis"
|
||||
msgstr ""
|
||||
@@ -906,7 +906,7 @@ msgstr ""
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Loading.qml:16
|
||||
#: src/login/Loading.qml:17
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Please wait while your messages are loaded from the server. This might take "
|
||||
@@ -930,7 +930,7 @@ msgstr ""
|
||||
msgid "Loading…"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:232
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:249
|
||||
#: src/settings/ThreePIdCard.qml:183
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -972,7 +972,7 @@ msgstr ""
|
||||
msgid "Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:152
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:154
|
||||
#: src/settings/NetworkProxyPage.qml:122
|
||||
#, kde-format
|
||||
msgid "Password"
|
||||
@@ -1026,47 +1026,47 @@ msgstr ""
|
||||
msgid "Username unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:25
|
||||
#: src/login/WelcomePage.qml:26
|
||||
#, kde-format
|
||||
msgid "Welcome"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:73 src/main.cpp:141
|
||||
#: src/login/WelcomePage.qml:74 src/main.cpp:141
|
||||
#, kde-format
|
||||
msgid "NeoChat"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:81
|
||||
#: src/login/WelcomePage.qml:82
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Continue with an existing account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:115
|
||||
#: src/login/WelcomePage.qml:132
|
||||
#, kde-format
|
||||
msgctxt "As in 'this account is still loading'"
|
||||
msgid "%1 (loading)"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:124
|
||||
#: src/login/WelcomePage.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Log out of this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:153
|
||||
#: src/login/WelcomePage.qml:170
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Log in or Create a New Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:240
|
||||
#: src/login/WelcomePage.qml:257
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Go back"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:252
|
||||
#: src/login/WelcomePage.qml:269
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Settings"
|
||||
@@ -1843,7 +1843,7 @@ msgstr ""
|
||||
msgid "Open NeoChat in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:110
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:111
|
||||
#: src/qml/HoverActions.qml:123
|
||||
#, kde-format
|
||||
msgid "Reply"
|
||||
@@ -1898,58 +1898,58 @@ msgctxt "@action:button"
|
||||
msgid "Show QR code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:39 src/qml/UserInfo.qml:46
|
||||
#: src/qml/AccountMenu.qml:40 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:44 src/settings/AccountsPage.qml:33
|
||||
#: src/qml/AccountMenu.qml:45 src/settings/AccountsPage.qml:33
|
||||
#: src/settings/AccountsPage.qml:50
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:48
|
||||
#: src/qml/AccountMenu.qml:49
|
||||
#, kde-format
|
||||
msgid "Notification settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:55 src/settings/DevicesPage.qml:17
|
||||
#: src/qml/AccountMenu.qml:56 src/settings/DevicesPage.qml:17
|
||||
#: src/settings/NeoChatSettingsView.qml:89
|
||||
#, kde-format
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:62 src/settings/NeoChatGeneralPage.qml:269
|
||||
#: src/qml/AccountMenu.qml:63 src/settings/NeoChatGeneralPage.qml:269
|
||||
#, kde-format
|
||||
msgid "Open developer tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:68
|
||||
#: src/qml/AccountMenu.qml:69
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Developer Tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:74
|
||||
#: src/qml/AccountMenu.qml:75
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Secret Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:78
|
||||
#: src/qml/AccountMenu.qml:79
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Open Key Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:82
|
||||
#: src/qml/AccountMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Verify this Device"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:88 src/settings/AccountsPage.qml:87
|
||||
#: src/qml/AccountMenu.qml:89 src/settings/AccountsPage.qml:88
|
||||
#, kde-format
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
@@ -2000,7 +2000,7 @@ msgid "Attachment:"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AttachmentPane.qml:38 src/qml/HoverActions.qml:106
|
||||
#: src/qml/ImageEditorPage.qml:21 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:20 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@@ -2132,61 +2132,29 @@ msgctxt "@action:button"
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:43 src/qml/ContextMenu.qml:204
|
||||
#: src/qml/ContextMenu.qml:31 src/qml/ContextMenu.qml:209
|
||||
#, kde-format
|
||||
msgid "Mark as Read"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:49
|
||||
#: src/qml/ContextMenu.qml:40
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:49 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:61
|
||||
#, kde-format
|
||||
msgid "Notification State"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:65
|
||||
#: src/qml/ContextMenu.qml:44
|
||||
#, kde-format
|
||||
msgid "Follow Global Setting"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:76 src/settings/PushNotification.qml:39
|
||||
#: src/qml/ContextMenu.qml:55 src/settings/PushNotification.qml:39
|
||||
#, kde-format
|
||||
msgctxt "As in 'notify for all messages'"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:87 src/settings/PushNotification.qml:47
|
||||
#: src/qml/ContextMenu.qml:66 src/settings/PushNotification.qml:47
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"As in 'notify when the user is mentioned or the message contains a set "
|
||||
@@ -2194,34 +2162,67 @@ msgctxt ""
|
||||
msgid "@Mentions and Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:98 src/settings/PushNotification.qml:55
|
||||
#: src/qml/ContextMenu.qml:77 src/settings/PushNotification.qml:55
|
||||
#, kde-format
|
||||
msgctxt "As in 'do not notify for any messages'"
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:111
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:104
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:104 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:116
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Room Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:121 src/qml/ContextMenu.qml:211
|
||||
#: src/qml/ContextMenu.qml:126 src/qml/ContextMenu.qml:216
|
||||
#, kde-format
|
||||
msgid "Leave Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Remove from Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Add to Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#: src/qml/ContextMenu.qml:192
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room Settings"
|
||||
@@ -2344,74 +2345,74 @@ msgctxt "@action:button"
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:83
|
||||
#: src/qml/DelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgid "View Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:90 src/settings/ThreePIdCard.qml:66
|
||||
#: src/qml/DelegateContextMenu.qml:91 src/settings/ThreePIdCard.qml:66
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:95 src/qml/DelegateContextMenu.qml:100
|
||||
#: src/qml/FileDelegateContextMenu.qml:76
|
||||
#: src/qml/FileDelegateContextMenu.qml:81
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/DelegateContextMenu.qml:101
|
||||
#: src/qml/FileDelegateContextMenu.qml:82
|
||||
#: src/qml/FileDelegateContextMenu.qml:87
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/FileDelegateContextMenu.qml:77
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:78
|
||||
#: src/qml/DelegateContextMenu.qml:98 src/qml/FileDelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove this message'"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:120 src/qml/DelegateContextMenu.qml:128
|
||||
#: src/qml/DelegateContextMenu.qml:121 src/qml/DelegateContextMenu.qml:129
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"@action:button 'Report' as in 'Report this event to the administrators'"
|
||||
msgid "Report"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:125
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Report Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#: src/qml/DelegateContextMenu.qml:127
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:130
|
||||
#: src/qml/DelegateContextMenu.qml:131
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Report Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:140
|
||||
#: src/qml/DelegateContextMenu.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Show User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:188
|
||||
#: src/qml/DelegateContextMenu.qml:204
|
||||
#, kde-format
|
||||
msgid "Search for '%1'"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:210
|
||||
#: src/qml/DelegateContextMenu.qml:226
|
||||
#, kde-format
|
||||
msgid "Configure Web Shortcuts..."
|
||||
msgstr ""
|
||||
@@ -2606,23 +2607,25 @@ msgctxt "@info:label"
|
||||
msgid "No public rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:46
|
||||
#: src/qml/FileDelegateContextMenu.qml:50
|
||||
#, kde-format
|
||||
msgid "Open Externally"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:53
|
||||
#: src/qml/FileDelegateContextMenu.qml:57
|
||||
#, kde-format
|
||||
msgid "Save As"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Save Image…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:63
|
||||
#: src/qml/MessageDelegateContextMenu.qml:64
|
||||
#: src/qml/FileDelegateContextMenu.qml:66
|
||||
#, kde-format
|
||||
msgid "Copy"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:71
|
||||
#: src/qml/FileDelegateContextMenu.qml:77
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
@@ -2772,55 +2775,55 @@ msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:36
|
||||
#, kde-format
|
||||
msgctxt "@action:button Undo modification"
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:44
|
||||
#: src/qml/ImageEditorPage.qml:43
|
||||
#, kde-format
|
||||
msgctxt "@action:button Accept image modification"
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:52
|
||||
#: src/qml/ImageEditorPage.qml:51
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Unable to save file. Check if you have the correct permission to edit the "
|
||||
"cache directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124
|
||||
#: src/qml/ImageEditorPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124 src/qml/ImageEditorPage.qml:140
|
||||
#: src/qml/ImageEditorPage.qml:123 src/qml/ImageEditorPage.qml:139
|
||||
#, kde-format
|
||||
msgctxt "@action:button Crop an image"
|
||||
msgid "Crop"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:145
|
||||
#: src/qml/ImageEditorPage.qml:144
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the left"
|
||||
msgid "Rotate left"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:151
|
||||
#: src/qml/ImageEditorPage.qml:150
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the right"
|
||||
msgid "Rotate right"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:157
|
||||
#: src/qml/ImageEditorPage.qml:156
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image vertically"
|
||||
msgid "Flip"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:163
|
||||
#: src/qml/ImageEditorPage.qml:162
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image horizontally"
|
||||
msgid "Mirror"
|
||||
@@ -3048,7 +3051,7 @@ msgstr ""
|
||||
#: src/qml/MessageDelegateContextMenu.qml:47
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu As in 'Forward this message'"
|
||||
msgid "Forward"
|
||||
msgid "Forward…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:53
|
||||
@@ -3057,9 +3060,16 @@ msgctxt "@title"
|
||||
msgid "Forward Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:67
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Text"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:72
|
||||
#, kde-format
|
||||
msgid "Copy Link"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Message Link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageSourceSheet.qml:46
|
||||
@@ -3154,7 +3164,7 @@ msgctxt "@action:button"
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RecommendedSpaceDialog.qml:61
|
||||
#: src/qml/RecommendedSpaceDialog.qml:63
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Ignore"
|
||||
@@ -3188,18 +3198,18 @@ msgstr ""
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:111 src/qml/RoomDrawerPage.qml:45
|
||||
#: src/qml/RoomDrawer.qml:114 src/qml/RoomDrawerPage.qml:45
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:160 src/qml/RoomDrawerPage.qml:85
|
||||
#: src/qml/RoomDrawer.qml:163 src/qml/RoomDrawerPage.qml:85
|
||||
#, kde-format
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:165 src/qml/RoomDrawerPage.qml:90
|
||||
#: src/qml/RoomDrawer.qml:168 src/qml/RoomDrawerPage.qml:90
|
||||
#, kde-format
|
||||
msgid "Media"
|
||||
msgstr ""
|
||||
@@ -3213,7 +3223,7 @@ msgstr ""
|
||||
#: src/qml/RoomInformation.qml:42
|
||||
#, kde-format
|
||||
msgctxt "@action:title"
|
||||
msgid "Room information"
|
||||
msgid "Room Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:70
|
||||
@@ -3254,6 +3264,12 @@ msgstr ""
|
||||
msgid "Show locations for this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136 src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Leave this space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -3324,7 +3340,7 @@ msgctxt "@action:title"
|
||||
msgid "Room Media"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomPage.qml:93
|
||||
#: src/qml/RoomPage.qml:92
|
||||
#, kde-format
|
||||
msgid "NeoChat is offline. Please check your network connection."
|
||||
msgstr ""
|
||||
@@ -3560,12 +3576,6 @@ msgctxt "@button"
|
||||
msgid "Invite user to space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@button"
|
||||
msgid "Leave the space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:76 src/qml/SpaceListContextMenu.qml:48
|
||||
#: src/qml/SpaceListContextMenu.qml:130
|
||||
#, kde-format
|
||||
@@ -3618,7 +3628,7 @@ msgid "%2 is typing"
|
||||
msgid_plural "%2 are typing"
|
||||
msgstr[0] ""
|
||||
|
||||
#: src/qml/UnlockSSSSDialog.qml:17
|
||||
#: src/qml/UnlockSSSSDialog.qml:16
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Load your encrypted messages"
|
||||
@@ -3706,129 +3716,129 @@ msgctxt "@title:menu Account details dialog"
|
||||
msgid "Account Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Unignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Ignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:122
|
||||
#: src/qml/UserDetailDialog.qml:124
|
||||
#, kde-format
|
||||
msgid "Kick this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:126 src/qml/UserDetailDialog.qml:131
|
||||
#: src/qml/UserDetailDialog.qml:128 src/qml/UserDetailDialog.qml:133
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Kick User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:127
|
||||
#: src/qml/UserDetailDialog.qml:129
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for kicking this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:128
|
||||
#: src/qml/UserDetailDialog.qml:130
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Kick' as in 'Kick this user from the room'"
|
||||
msgid "Kick"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:147
|
||||
#: src/qml/UserDetailDialog.qml:149
|
||||
#, kde-format
|
||||
msgid "Invite this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:160
|
||||
#: src/qml/UserDetailDialog.qml:162
|
||||
#, kde-format
|
||||
msgid "Ban this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:165 src/qml/UserDetailDialog.qml:170
|
||||
#: src/qml/UserDetailDialog.qml:167 src/qml/UserDetailDialog.qml:172
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Ban User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:166
|
||||
#: src/qml/UserDetailDialog.qml:168
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for banning this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:167
|
||||
#: src/qml/UserDetailDialog.qml:169
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Ban' as in 'Ban this user'"
|
||||
msgid "Ban"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:185
|
||||
#: src/qml/UserDetailDialog.qml:187
|
||||
#, kde-format
|
||||
msgid "Unban this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:198
|
||||
#: src/qml/UserDetailDialog.qml:200
|
||||
#, kde-format
|
||||
msgid "Set user power level"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:223
|
||||
#: src/qml/UserDetailDialog.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove recent messages by this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:228
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:229
|
||||
#: src/qml/UserDetailDialog.qml:231
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this user's recent messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#: src/qml/UserDetailDialog.qml:232
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove these messages'"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:233
|
||||
#: src/qml/UserDetailDialog.qml:235
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Remove Messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgctxt "%1 is the name of the user."
|
||||
msgid "Chat with %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgid "Invite to private chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:258
|
||||
#: src/qml/UserDetailDialog.qml:260
|
||||
#, kde-format
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#: src/qml/UserInfo.qml:92
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:100
|
||||
#: src/qml/UserInfo.qml:101
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr ""
|
||||
@@ -4046,7 +4056,7 @@ msgstr ""
|
||||
msgid "Working"
|
||||
msgstr ""
|
||||
|
||||
#: src/roommanager.cpp:146
|
||||
#: src/roommanager.cpp:145
|
||||
#, kde-format
|
||||
msgid "Malformed or empty Matrix id<br />%1 is not a correct Matrix identifier"
|
||||
msgstr ""
|
||||
@@ -4071,126 +4081,126 @@ msgstr ""
|
||||
msgid "Edit Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:61
|
||||
#: src/settings/AccountEditorPage.qml:62
|
||||
#, kde-format
|
||||
msgid "Upload new avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:78
|
||||
#: src/settings/AccountEditorPage.qml:79
|
||||
#, kde-format
|
||||
msgid "Remove current avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:101
|
||||
#: src/settings/AccountEditorPage.qml:102
|
||||
#, kde-format
|
||||
msgid "User Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:106
|
||||
#: src/settings/AccountEditorPage.qml:107
|
||||
#, kde-format
|
||||
msgid "Display Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:112
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Label:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#: src/settings/AccountEditorPage.qml:114
|
||||
#, kde-format
|
||||
msgid "Work"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:118
|
||||
#: src/settings/AccountEditorPage.qml:119
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:135
|
||||
#: src/settings/AccountEditorPage.qml:191
|
||||
#: src/settings/AccountEditorPage.qml:137
|
||||
#: src/settings/AccountEditorPage.qml:193
|
||||
#: src/settings/EmoticonEditorPage.qml:108 src/settings/RoomGeneralPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:157
|
||||
#: src/settings/AccountEditorPage.qml:159
|
||||
#, kde-format
|
||||
msgid "Your server doesn't support changing your password"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:164
|
||||
#: src/settings/AccountEditorPage.qml:166
|
||||
#, kde-format
|
||||
msgid "Current Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:171
|
||||
#: src/settings/AccountEditorPage.qml:173
|
||||
#, kde-format
|
||||
msgid "New Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:178
|
||||
#: src/settings/AccountEditorPage.qml:180
|
||||
#, kde-format
|
||||
msgid "Confirm new Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:183
|
||||
#: src/settings/AccountEditorPage.qml:185
|
||||
#, kde-format
|
||||
msgid "Passwords don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:198
|
||||
#: src/settings/AccountEditorPage.qml:200
|
||||
#, kde-format
|
||||
msgid "Passwords do not match"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:205
|
||||
#: src/settings/AccountEditorPage.qml:207
|
||||
#, kde-format
|
||||
msgid "Email Addresses"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:211
|
||||
#: src/settings/AccountEditorPage.qml:213
|
||||
#, kde-format
|
||||
msgid "Phone Numbers"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:216
|
||||
#: src/settings/AccountEditorPage.qml:218
|
||||
#, kde-format
|
||||
msgid "Identity Server"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:225
|
||||
#: src/settings/AccountEditorPage.qml:227
|
||||
#, kde-format
|
||||
msgid "Server Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:229
|
||||
#: src/settings/AccountEditorPage.qml:231
|
||||
#, kde-format
|
||||
msgid "Homeserver url"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:250
|
||||
#: src/settings/AccountEditorPage.qml:252
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Account Management"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:255
|
||||
#: src/settings/AccountEditorPage.qml:257
|
||||
#, kde-format
|
||||
msgid "Deactivate Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:271
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Password changed successfully"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#, kde-format
|
||||
msgid "Wrong password entered"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#: src/settings/AccountEditorPage.qml:277
|
||||
#, kde-format
|
||||
msgid "Unknown problem while trying to change password"
|
||||
msgstr ""
|
||||
@@ -4201,7 +4211,7 @@ msgstr ""
|
||||
msgid "Accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountsPage.qml:117
|
||||
#: src/settings/AccountsPage.qml:118
|
||||
#, kde-format
|
||||
msgid "Add Account"
|
||||
msgstr ""
|
||||
@@ -4431,7 +4441,7 @@ msgctxt "@title"
|
||||
msgid "Stickers & Emojis"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/ExportKeysDialog.qml:18
|
||||
#: src/settings/ExportKeysDialog.qml:17
|
||||
#: src/settings/NeoChatSecurityPage.qml:107
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -4580,7 +4590,7 @@ msgctxt "@action:button"
|
||||
msgid "Unignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/ImportKeysDialog.qml:22 src/settings/NeoChatSecurityPage.qml:84
|
||||
#: src/settings/ImportKeysDialog.qml:21 src/settings/NeoChatSecurityPage.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Import Keys"
|
||||
@@ -4744,7 +4754,7 @@ msgctxt "@action:button"
|
||||
msgid "Reset all configuration values to their default"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/NeoChatSecurityPage.qml:19
|
||||
#: src/settings/NeoChatSecurityPage.qml:18
|
||||
#: src/settings/NeoChatSettingsView.qml:51
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
|
||||
383
po/ka/neochat.po
383
po/ka/neochat.po
File diff suppressed because it is too large
Load Diff
406
po/ko/neochat.po
406
po/ko/neochat.po
File diff suppressed because it is too large
Load Diff
356
po/lt/neochat.po
356
po/lt/neochat.po
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: neochat\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2024-11-13 00:40+0000\n"
|
||||
"POT-Creation-Date: 2024-11-19 00:40+0000\n"
|
||||
"PO-Revision-Date: 2023-02-25 01:00+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -48,33 +48,33 @@ msgstr ""
|
||||
msgid "Send message"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send an encrypted message…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Set an attachment caption…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send a message…"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/ChatBar.qml:376
|
||||
#: src/chatbar/ChatBar.qml:375
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Cancel reply"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No stickers"
|
||||
msgstr ""
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No emojis"
|
||||
msgstr ""
|
||||
@@ -913,7 +913,7 @@ msgstr ""
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Loading.qml:16
|
||||
#: src/login/Loading.qml:17
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Please wait while your messages are loaded from the server. This might take "
|
||||
@@ -937,7 +937,7 @@ msgstr ""
|
||||
msgid "Loading…"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:232
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:249
|
||||
#: src/settings/ThreePIdCard.qml:183
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -979,7 +979,7 @@ msgstr ""
|
||||
msgid "Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:152
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:154
|
||||
#: src/settings/NetworkProxyPage.qml:122
|
||||
#, kde-format
|
||||
msgid "Password"
|
||||
@@ -1033,47 +1033,47 @@ msgstr ""
|
||||
msgid "Username unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:25
|
||||
#: src/login/WelcomePage.qml:26
|
||||
#, kde-format
|
||||
msgid "Welcome"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:73 src/main.cpp:141
|
||||
#: src/login/WelcomePage.qml:74 src/main.cpp:141
|
||||
#, kde-format
|
||||
msgid "NeoChat"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:81
|
||||
#: src/login/WelcomePage.qml:82
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Continue with an existing account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:115
|
||||
#: src/login/WelcomePage.qml:132
|
||||
#, kde-format
|
||||
msgctxt "As in 'this account is still loading'"
|
||||
msgid "%1 (loading)"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:124
|
||||
#: src/login/WelcomePage.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Log out of this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:153
|
||||
#: src/login/WelcomePage.qml:170
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Log in or Create a New Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:240
|
||||
#: src/login/WelcomePage.qml:257
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Go back"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:252
|
||||
#: src/login/WelcomePage.qml:269
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Settings"
|
||||
@@ -1857,7 +1857,7 @@ msgstr ""
|
||||
msgid "Open NeoChat in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:110
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:111
|
||||
#: src/qml/HoverActions.qml:123
|
||||
#, kde-format
|
||||
msgid "Reply"
|
||||
@@ -1912,58 +1912,58 @@ msgctxt "@action:button"
|
||||
msgid "Show QR code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:39 src/qml/UserInfo.qml:46
|
||||
#: src/qml/AccountMenu.qml:40 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:44 src/settings/AccountsPage.qml:33
|
||||
#: src/qml/AccountMenu.qml:45 src/settings/AccountsPage.qml:33
|
||||
#: src/settings/AccountsPage.qml:50
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:48
|
||||
#: src/qml/AccountMenu.qml:49
|
||||
#, kde-format
|
||||
msgid "Notification settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:55 src/settings/DevicesPage.qml:17
|
||||
#: src/qml/AccountMenu.qml:56 src/settings/DevicesPage.qml:17
|
||||
#: src/settings/NeoChatSettingsView.qml:89
|
||||
#, kde-format
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:62 src/settings/NeoChatGeneralPage.qml:269
|
||||
#: src/qml/AccountMenu.qml:63 src/settings/NeoChatGeneralPage.qml:269
|
||||
#, kde-format
|
||||
msgid "Open developer tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:68
|
||||
#: src/qml/AccountMenu.qml:69
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Developer Tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:74
|
||||
#: src/qml/AccountMenu.qml:75
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Secret Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:78
|
||||
#: src/qml/AccountMenu.qml:79
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Open Key Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:82
|
||||
#: src/qml/AccountMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Verify this Device"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:88 src/settings/AccountsPage.qml:87
|
||||
#: src/qml/AccountMenu.qml:89 src/settings/AccountsPage.qml:88
|
||||
#, kde-format
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
@@ -2014,7 +2014,7 @@ msgid "Attachment:"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AttachmentPane.qml:38 src/qml/HoverActions.qml:106
|
||||
#: src/qml/ImageEditorPage.qml:21 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:20 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@@ -2146,61 +2146,29 @@ msgctxt "@action:button"
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:43 src/qml/ContextMenu.qml:204
|
||||
#: src/qml/ContextMenu.qml:31 src/qml/ContextMenu.qml:209
|
||||
#, kde-format
|
||||
msgid "Mark as Read"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:49
|
||||
#: src/qml/ContextMenu.qml:40
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:49 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:61
|
||||
#, kde-format
|
||||
msgid "Notification State"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:65
|
||||
#: src/qml/ContextMenu.qml:44
|
||||
#, kde-format
|
||||
msgid "Follow Global Setting"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:76 src/settings/PushNotification.qml:39
|
||||
#: src/qml/ContextMenu.qml:55 src/settings/PushNotification.qml:39
|
||||
#, kde-format
|
||||
msgctxt "As in 'notify for all messages'"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:87 src/settings/PushNotification.qml:47
|
||||
#: src/qml/ContextMenu.qml:66 src/settings/PushNotification.qml:47
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"As in 'notify when the user is mentioned or the message contains a set "
|
||||
@@ -2208,34 +2176,67 @@ msgctxt ""
|
||||
msgid "@Mentions and Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:98 src/settings/PushNotification.qml:55
|
||||
#: src/qml/ContextMenu.qml:77 src/settings/PushNotification.qml:55
|
||||
#, kde-format
|
||||
msgctxt "As in 'do not notify for any messages'"
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:111
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:104
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:104 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:116
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Room Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:121 src/qml/ContextMenu.qml:211
|
||||
#: src/qml/ContextMenu.qml:126 src/qml/ContextMenu.qml:216
|
||||
#, kde-format
|
||||
msgid "Leave Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Remove from Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Add to Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#: src/qml/ContextMenu.qml:192
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room Settings"
|
||||
@@ -2358,74 +2359,74 @@ msgctxt "@action:button"
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:83
|
||||
#: src/qml/DelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgid "View Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:90 src/settings/ThreePIdCard.qml:66
|
||||
#: src/qml/DelegateContextMenu.qml:91 src/settings/ThreePIdCard.qml:66
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:95 src/qml/DelegateContextMenu.qml:100
|
||||
#: src/qml/FileDelegateContextMenu.qml:76
|
||||
#: src/qml/FileDelegateContextMenu.qml:81
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/DelegateContextMenu.qml:101
|
||||
#: src/qml/FileDelegateContextMenu.qml:82
|
||||
#: src/qml/FileDelegateContextMenu.qml:87
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/FileDelegateContextMenu.qml:77
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:78
|
||||
#: src/qml/DelegateContextMenu.qml:98 src/qml/FileDelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove this message'"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:120 src/qml/DelegateContextMenu.qml:128
|
||||
#: src/qml/DelegateContextMenu.qml:121 src/qml/DelegateContextMenu.qml:129
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"@action:button 'Report' as in 'Report this event to the administrators'"
|
||||
msgid "Report"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:125
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Report Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#: src/qml/DelegateContextMenu.qml:127
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:130
|
||||
#: src/qml/DelegateContextMenu.qml:131
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Report Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:140
|
||||
#: src/qml/DelegateContextMenu.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Show User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:188
|
||||
#: src/qml/DelegateContextMenu.qml:204
|
||||
#, kde-format
|
||||
msgid "Search for '%1'"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:210
|
||||
#: src/qml/DelegateContextMenu.qml:226
|
||||
#, kde-format
|
||||
msgid "Configure Web Shortcuts..."
|
||||
msgstr ""
|
||||
@@ -2620,23 +2621,25 @@ msgctxt "@info:label"
|
||||
msgid "No public rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:46
|
||||
#: src/qml/FileDelegateContextMenu.qml:50
|
||||
#, kde-format
|
||||
msgid "Open Externally"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:53
|
||||
#: src/qml/FileDelegateContextMenu.qml:57
|
||||
#, kde-format
|
||||
msgid "Save As"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Save Image…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:63
|
||||
#: src/qml/MessageDelegateContextMenu.qml:64
|
||||
#: src/qml/FileDelegateContextMenu.qml:66
|
||||
#, kde-format
|
||||
msgid "Copy"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:71
|
||||
#: src/qml/FileDelegateContextMenu.qml:77
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
@@ -2786,55 +2789,55 @@ msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:36
|
||||
#, kde-format
|
||||
msgctxt "@action:button Undo modification"
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:44
|
||||
#: src/qml/ImageEditorPage.qml:43
|
||||
#, kde-format
|
||||
msgctxt "@action:button Accept image modification"
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:52
|
||||
#: src/qml/ImageEditorPage.qml:51
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Unable to save file. Check if you have the correct permission to edit the "
|
||||
"cache directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124
|
||||
#: src/qml/ImageEditorPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124 src/qml/ImageEditorPage.qml:140
|
||||
#: src/qml/ImageEditorPage.qml:123 src/qml/ImageEditorPage.qml:139
|
||||
#, kde-format
|
||||
msgctxt "@action:button Crop an image"
|
||||
msgid "Crop"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:145
|
||||
#: src/qml/ImageEditorPage.qml:144
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the left"
|
||||
msgid "Rotate left"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:151
|
||||
#: src/qml/ImageEditorPage.qml:150
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the right"
|
||||
msgid "Rotate right"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:157
|
||||
#: src/qml/ImageEditorPage.qml:156
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image vertically"
|
||||
msgid "Flip"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:163
|
||||
#: src/qml/ImageEditorPage.qml:162
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image horizontally"
|
||||
msgid "Mirror"
|
||||
@@ -3062,7 +3065,7 @@ msgstr ""
|
||||
#: src/qml/MessageDelegateContextMenu.qml:47
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu As in 'Forward this message'"
|
||||
msgid "Forward"
|
||||
msgid "Forward…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:53
|
||||
@@ -3071,9 +3074,16 @@ msgctxt "@title"
|
||||
msgid "Forward Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:67
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Text"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:72
|
||||
#, kde-format
|
||||
msgid "Copy Link"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Message Link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageSourceSheet.qml:46
|
||||
@@ -3168,7 +3178,7 @@ msgctxt "@action:button"
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RecommendedSpaceDialog.qml:61
|
||||
#: src/qml/RecommendedSpaceDialog.qml:63
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Ignore"
|
||||
@@ -3202,18 +3212,18 @@ msgstr ""
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:111 src/qml/RoomDrawerPage.qml:45
|
||||
#: src/qml/RoomDrawer.qml:114 src/qml/RoomDrawerPage.qml:45
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:160 src/qml/RoomDrawerPage.qml:85
|
||||
#: src/qml/RoomDrawer.qml:163 src/qml/RoomDrawerPage.qml:85
|
||||
#, kde-format
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDrawer.qml:165 src/qml/RoomDrawerPage.qml:90
|
||||
#: src/qml/RoomDrawer.qml:168 src/qml/RoomDrawerPage.qml:90
|
||||
#, kde-format
|
||||
msgid "Media"
|
||||
msgstr ""
|
||||
@@ -3227,7 +3237,7 @@ msgstr ""
|
||||
#: src/qml/RoomInformation.qml:42
|
||||
#, kde-format
|
||||
msgctxt "@action:title"
|
||||
msgid "Room information"
|
||||
msgid "Room Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:70
|
||||
@@ -3268,6 +3278,12 @@ msgstr ""
|
||||
msgid "Show locations for this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136 src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Leave this space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -3341,7 +3357,7 @@ msgctxt "@action:title"
|
||||
msgid "Room Media"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomPage.qml:93
|
||||
#: src/qml/RoomPage.qml:92
|
||||
#, kde-format
|
||||
msgid "NeoChat is offline. Please check your network connection."
|
||||
msgstr ""
|
||||
@@ -3583,12 +3599,6 @@ msgctxt "@button"
|
||||
msgid "Invite user to space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@button"
|
||||
msgid "Leave the space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:76 src/qml/SpaceListContextMenu.qml:48
|
||||
#: src/qml/SpaceListContextMenu.qml:130
|
||||
#, kde-format
|
||||
@@ -3643,7 +3653,7 @@ msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: src/qml/UnlockSSSSDialog.qml:17
|
||||
#: src/qml/UnlockSSSSDialog.qml:16
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Load your encrypted messages"
|
||||
@@ -3731,129 +3741,129 @@ msgctxt "@title:menu Account details dialog"
|
||||
msgid "Account Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Unignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Ignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:122
|
||||
#: src/qml/UserDetailDialog.qml:124
|
||||
#, kde-format
|
||||
msgid "Kick this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:126 src/qml/UserDetailDialog.qml:131
|
||||
#: src/qml/UserDetailDialog.qml:128 src/qml/UserDetailDialog.qml:133
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Kick User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:127
|
||||
#: src/qml/UserDetailDialog.qml:129
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for kicking this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:128
|
||||
#: src/qml/UserDetailDialog.qml:130
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Kick' as in 'Kick this user from the room'"
|
||||
msgid "Kick"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:147
|
||||
#: src/qml/UserDetailDialog.qml:149
|
||||
#, kde-format
|
||||
msgid "Invite this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:160
|
||||
#: src/qml/UserDetailDialog.qml:162
|
||||
#, kde-format
|
||||
msgid "Ban this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:165 src/qml/UserDetailDialog.qml:170
|
||||
#: src/qml/UserDetailDialog.qml:167 src/qml/UserDetailDialog.qml:172
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Ban User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:166
|
||||
#: src/qml/UserDetailDialog.qml:168
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for banning this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:167
|
||||
#: src/qml/UserDetailDialog.qml:169
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Ban' as in 'Ban this user'"
|
||||
msgid "Ban"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:185
|
||||
#: src/qml/UserDetailDialog.qml:187
|
||||
#, kde-format
|
||||
msgid "Unban this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:198
|
||||
#: src/qml/UserDetailDialog.qml:200
|
||||
#, kde-format
|
||||
msgid "Set user power level"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:223
|
||||
#: src/qml/UserDetailDialog.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove recent messages by this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:228
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:229
|
||||
#: src/qml/UserDetailDialog.qml:231
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this user's recent messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#: src/qml/UserDetailDialog.qml:232
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove these messages'"
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:233
|
||||
#: src/qml/UserDetailDialog.qml:235
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Remove Messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgctxt "%1 is the name of the user."
|
||||
msgid "Chat with %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgid "Invite to private chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:258
|
||||
#: src/qml/UserDetailDialog.qml:260
|
||||
#, kde-format
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#: src/qml/UserInfo.qml:92
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:100
|
||||
#: src/qml/UserInfo.qml:101
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr ""
|
||||
@@ -4071,7 +4081,7 @@ msgstr ""
|
||||
msgid "Working"
|
||||
msgstr ""
|
||||
|
||||
#: src/roommanager.cpp:146
|
||||
#: src/roommanager.cpp:145
|
||||
#, kde-format
|
||||
msgid "Malformed or empty Matrix id<br />%1 is not a correct Matrix identifier"
|
||||
msgstr ""
|
||||
@@ -4096,126 +4106,126 @@ msgstr ""
|
||||
msgid "Edit Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:61
|
||||
#: src/settings/AccountEditorPage.qml:62
|
||||
#, kde-format
|
||||
msgid "Upload new avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:78
|
||||
#: src/settings/AccountEditorPage.qml:79
|
||||
#, kde-format
|
||||
msgid "Remove current avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:101
|
||||
#: src/settings/AccountEditorPage.qml:102
|
||||
#, kde-format
|
||||
msgid "User Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:106
|
||||
#: src/settings/AccountEditorPage.qml:107
|
||||
#, kde-format
|
||||
msgid "Display Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:112
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Label:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#: src/settings/AccountEditorPage.qml:114
|
||||
#, kde-format
|
||||
msgid "Work"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:118
|
||||
#: src/settings/AccountEditorPage.qml:119
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:135
|
||||
#: src/settings/AccountEditorPage.qml:191
|
||||
#: src/settings/AccountEditorPage.qml:137
|
||||
#: src/settings/AccountEditorPage.qml:193
|
||||
#: src/settings/EmoticonEditorPage.qml:108 src/settings/RoomGeneralPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:157
|
||||
#: src/settings/AccountEditorPage.qml:159
|
||||
#, kde-format
|
||||
msgid "Your server doesn't support changing your password"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:164
|
||||
#: src/settings/AccountEditorPage.qml:166
|
||||
#, kde-format
|
||||
msgid "Current Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:171
|
||||
#: src/settings/AccountEditorPage.qml:173
|
||||
#, kde-format
|
||||
msgid "New Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:178
|
||||
#: src/settings/AccountEditorPage.qml:180
|
||||
#, kde-format
|
||||
msgid "Confirm new Password:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:183
|
||||
#: src/settings/AccountEditorPage.qml:185
|
||||
#, kde-format
|
||||
msgid "Passwords don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:198
|
||||
#: src/settings/AccountEditorPage.qml:200
|
||||
#, kde-format
|
||||
msgid "Passwords do not match"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:205
|
||||
#: src/settings/AccountEditorPage.qml:207
|
||||
#, kde-format
|
||||
msgid "Email Addresses"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:211
|
||||
#: src/settings/AccountEditorPage.qml:213
|
||||
#, kde-format
|
||||
msgid "Phone Numbers"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:216
|
||||
#: src/settings/AccountEditorPage.qml:218
|
||||
#, kde-format
|
||||
msgid "Identity Server"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:225
|
||||
#: src/settings/AccountEditorPage.qml:227
|
||||
#, kde-format
|
||||
msgid "Server Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:229
|
||||
#: src/settings/AccountEditorPage.qml:231
|
||||
#, kde-format
|
||||
msgid "Homeserver url"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:250
|
||||
#: src/settings/AccountEditorPage.qml:252
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Account Management"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:255
|
||||
#: src/settings/AccountEditorPage.qml:257
|
||||
#, kde-format
|
||||
msgid "Deactivate Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:271
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Password changed successfully"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#, kde-format
|
||||
msgid "Wrong password entered"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#: src/settings/AccountEditorPage.qml:277
|
||||
#, kde-format
|
||||
msgid "Unknown problem while trying to change password"
|
||||
msgstr ""
|
||||
@@ -4226,7 +4236,7 @@ msgstr ""
|
||||
msgid "Accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountsPage.qml:117
|
||||
#: src/settings/AccountsPage.qml:118
|
||||
#, kde-format
|
||||
msgid "Add Account"
|
||||
msgstr ""
|
||||
@@ -4456,7 +4466,7 @@ msgctxt "@title"
|
||||
msgid "Stickers & Emojis"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/ExportKeysDialog.qml:18
|
||||
#: src/settings/ExportKeysDialog.qml:17
|
||||
#: src/settings/NeoChatSecurityPage.qml:107
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -4605,7 +4615,7 @@ msgctxt "@action:button"
|
||||
msgid "Unignore this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/ImportKeysDialog.qml:22 src/settings/NeoChatSecurityPage.qml:84
|
||||
#: src/settings/ImportKeysDialog.qml:21 src/settings/NeoChatSecurityPage.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Import Keys"
|
||||
@@ -4769,7 +4779,7 @@ msgctxt "@action:button"
|
||||
msgid "Reset all configuration values to their default"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/NeoChatSecurityPage.qml:19
|
||||
#: src/settings/NeoChatSecurityPage.qml:18
|
||||
#: src/settings/NeoChatSettingsView.qml:51
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
|
||||
403
po/lv/neochat.po
403
po/lv/neochat.po
File diff suppressed because it is too large
Load Diff
385
po/nl/neochat.po
385
po/nl/neochat.po
File diff suppressed because it is too large
Load Diff
406
po/nn/neochat.po
406
po/nn/neochat.po
File diff suppressed because it is too large
Load Diff
397
po/pa/neochat.po
397
po/pa/neochat.po
File diff suppressed because it is too large
Load Diff
405
po/pl/neochat.po
405
po/pl/neochat.po
File diff suppressed because it is too large
Load Diff
407
po/pt/neochat.po
407
po/pt/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
399
po/ru/neochat.po
399
po/ru/neochat.po
File diff suppressed because it is too large
Load Diff
397
po/sk/neochat.po
397
po/sk/neochat.po
File diff suppressed because it is too large
Load Diff
383
po/sl/neochat.po
383
po/sl/neochat.po
File diff suppressed because it is too large
Load Diff
403
po/sv/neochat.po
403
po/sv/neochat.po
File diff suppressed because it is too large
Load Diff
428
po/ta/neochat.po
428
po/ta/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
403
po/tr/neochat.po
403
po/tr/neochat.po
File diff suppressed because it is too large
Load Diff
387
po/uk/neochat.po
387
po/uk/neochat.po
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2024-11-13 00:40+0000\n"
|
||||
"POT-Creation-Date: 2024-11-19 00:40+0000\n"
|
||||
"PO-Revision-Date: 2024-04-23 19:24\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
@@ -47,33 +47,33 @@ msgstr "发送位置"
|
||||
msgid "Send message"
|
||||
msgstr "发送消息"
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send an encrypted message…"
|
||||
msgstr "发送一条加密消息..."
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Set an attachment caption…"
|
||||
msgstr "设置附件说明"
|
||||
|
||||
#: src/chatbar/ChatBar.qml:201
|
||||
#: src/chatbar/ChatBar.qml:202
|
||||
#, kde-format
|
||||
msgid "Send a message…"
|
||||
msgstr "发送一条消息..."
|
||||
|
||||
#: src/chatbar/ChatBar.qml:376
|
||||
#: src/chatbar/ChatBar.qml:375
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Cancel reply"
|
||||
msgstr "取消回复"
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No stickers"
|
||||
msgstr "无贴纸"
|
||||
|
||||
#: src/chatbar/EmojiGrid.qml:87
|
||||
#: src/chatbar/EmojiGrid.qml:88
|
||||
#, kde-format
|
||||
msgid "No emojis"
|
||||
msgstr "无表情"
|
||||
@@ -910,7 +910,7 @@ msgstr "此服务器已禁用注册。"
|
||||
msgid "Loading"
|
||||
msgstr "加载中"
|
||||
|
||||
#: src/login/Loading.qml:16
|
||||
#: src/login/Loading.qml:17
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Please wait while your messages are loaded from the server. This might take "
|
||||
@@ -934,7 +934,7 @@ msgstr "Matrix ID"
|
||||
msgid "Loading…"
|
||||
msgstr "加载中…"
|
||||
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:232
|
||||
#: src/login/Login.qml:38 src/login/WelcomePage.qml:249
|
||||
#: src/settings/ThreePIdCard.qml:183
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -976,7 +976,7 @@ msgstr "注册"
|
||||
msgid "Password:"
|
||||
msgstr "密码:"
|
||||
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:152
|
||||
#: src/login/Password.qml:32 src/settings/AccountEditorPage.qml:154
|
||||
#: src/settings/NetworkProxyPage.qml:122
|
||||
#, kde-format
|
||||
msgid "Password"
|
||||
@@ -1030,47 +1030,47 @@ msgstr "用户名:"
|
||||
msgid "Username unavailable"
|
||||
msgstr "用户名不可用"
|
||||
|
||||
#: src/login/WelcomePage.qml:25
|
||||
#: src/login/WelcomePage.qml:26
|
||||
#, kde-format
|
||||
msgid "Welcome"
|
||||
msgstr "欢迎使用"
|
||||
|
||||
#: src/login/WelcomePage.qml:73 src/main.cpp:141
|
||||
#: src/login/WelcomePage.qml:74 src/main.cpp:141
|
||||
#, kde-format
|
||||
msgid "NeoChat"
|
||||
msgstr "NeoChat"
|
||||
|
||||
#: src/login/WelcomePage.qml:81
|
||||
#: src/login/WelcomePage.qml:82
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Continue with an existing account"
|
||||
msgstr "使用现有账户登录"
|
||||
|
||||
#: src/login/WelcomePage.qml:115
|
||||
#: src/login/WelcomePage.qml:132
|
||||
#, kde-format
|
||||
msgctxt "As in 'this account is still loading'"
|
||||
msgid "%1 (loading)"
|
||||
msgstr "%1 (加载中)"
|
||||
|
||||
#: src/login/WelcomePage.qml:124
|
||||
#: src/login/WelcomePage.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Log out of this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/login/WelcomePage.qml:153
|
||||
#: src/login/WelcomePage.qml:170
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Log in or Create a New Account"
|
||||
msgstr "登录或创建一个新账户"
|
||||
|
||||
#: src/login/WelcomePage.qml:240
|
||||
#: src/login/WelcomePage.qml:257
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Go back"
|
||||
msgstr "返回"
|
||||
|
||||
#: src/login/WelcomePage.qml:252
|
||||
#: src/login/WelcomePage.qml:269
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Settings"
|
||||
@@ -1851,7 +1851,7 @@ msgstr "%1:%2"
|
||||
msgid "Open NeoChat in this room"
|
||||
msgstr "在此聊天室打开 NeoChat"
|
||||
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:110
|
||||
#: src/notificationsmanager.cpp:246 src/qml/DelegateContextMenu.qml:111
|
||||
#: src/qml/HoverActions.qml:123
|
||||
#, kde-format
|
||||
msgid "Reply"
|
||||
@@ -1906,58 +1906,58 @@ msgctxt "@action:button"
|
||||
msgid "Show QR code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:39 src/qml/UserInfo.qml:46
|
||||
#: src/qml/AccountMenu.qml:40 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr "编辑此账户"
|
||||
|
||||
#: src/qml/AccountMenu.qml:44 src/settings/AccountsPage.qml:33
|
||||
#: src/qml/AccountMenu.qml:45 src/settings/AccountsPage.qml:33
|
||||
#: src/settings/AccountsPage.qml:50
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr "账户编辑器"
|
||||
|
||||
#: src/qml/AccountMenu.qml:48
|
||||
#: src/qml/AccountMenu.qml:49
|
||||
#, kde-format
|
||||
msgid "Notification settings"
|
||||
msgstr "通知设置"
|
||||
|
||||
#: src/qml/AccountMenu.qml:55 src/settings/DevicesPage.qml:17
|
||||
#: src/qml/AccountMenu.qml:56 src/settings/DevicesPage.qml:17
|
||||
#: src/settings/NeoChatSettingsView.qml:89
|
||||
#, kde-format
|
||||
msgid "Devices"
|
||||
msgstr "设备"
|
||||
|
||||
#: src/qml/AccountMenu.qml:62 src/settings/NeoChatGeneralPage.qml:269
|
||||
#: src/qml/AccountMenu.qml:63 src/settings/NeoChatGeneralPage.qml:269
|
||||
#, kde-format
|
||||
msgid "Open developer tools"
|
||||
msgstr "打开开发者工具"
|
||||
|
||||
#: src/qml/AccountMenu.qml:68
|
||||
#: src/qml/AccountMenu.qml:69
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Developer Tools"
|
||||
msgstr "开发者工具"
|
||||
|
||||
#: src/qml/AccountMenu.qml:74
|
||||
#: src/qml/AccountMenu.qml:75
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Secret Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:78
|
||||
#: src/qml/AccountMenu.qml:79
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Open Key Backup"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:82
|
||||
#: src/qml/AccountMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Verify this Device"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:88 src/settings/AccountsPage.qml:87
|
||||
#: src/qml/AccountMenu.qml:89 src/settings/AccountsPage.qml:88
|
||||
#, kde-format
|
||||
msgid "Logout"
|
||||
msgstr "退出登录"
|
||||
@@ -2008,7 +2008,7 @@ msgid "Attachment:"
|
||||
msgstr "附件:"
|
||||
|
||||
#: src/qml/AttachmentPane.qml:38 src/qml/HoverActions.qml:106
|
||||
#: src/qml/ImageEditorPage.qml:21 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:20 src/qml/MessageDelegateContextMenu.qml:37
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "编辑"
|
||||
@@ -2144,61 +2144,29 @@ msgctxt "@action:button"
|
||||
msgid "Open"
|
||||
msgstr "打开"
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "从收藏夹中移除"
|
||||
|
||||
#: src/qml/ContextMenu.qml:31
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "添加到收藏夹"
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr "恢复优先级"
|
||||
|
||||
#: src/qml/ContextMenu.qml:37 src/qml/ContextMenu.qml:197
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr "降低优先级"
|
||||
|
||||
#: src/qml/ContextMenu.qml:43 src/qml/ContextMenu.qml:204
|
||||
#: src/qml/ContextMenu.qml:31 src/qml/ContextMenu.qml:209
|
||||
#, kde-format
|
||||
msgid "Mark as Read"
|
||||
msgstr "标记为已读"
|
||||
|
||||
#: src/qml/ContextMenu.qml:49
|
||||
#: src/qml/ContextMenu.qml:40
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgstr "将用户的 Matrix ID 复制到剪贴板"
|
||||
msgid "Notifications"
|
||||
msgstr "通知"
|
||||
|
||||
#: src/qml/ContextMenu.qml:49 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr "将地址复制到剪贴板"
|
||||
|
||||
#: src/qml/ContextMenu.qml:61
|
||||
#, kde-format
|
||||
msgid "Notification State"
|
||||
msgstr "通知状态"
|
||||
|
||||
#: src/qml/ContextMenu.qml:65
|
||||
#: src/qml/ContextMenu.qml:44
|
||||
#, kde-format
|
||||
msgid "Follow Global Setting"
|
||||
msgstr "使用全局设置"
|
||||
|
||||
#: src/qml/ContextMenu.qml:76 src/settings/PushNotification.qml:39
|
||||
#: src/qml/ContextMenu.qml:55 src/settings/PushNotification.qml:39
|
||||
#, kde-format
|
||||
msgctxt "As in 'notify for all messages'"
|
||||
msgid "All"
|
||||
msgstr "全部"
|
||||
|
||||
#: src/qml/ContextMenu.qml:87 src/settings/PushNotification.qml:47
|
||||
#: src/qml/ContextMenu.qml:66 src/settings/PushNotification.qml:47
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"As in 'notify when the user is mentioned or the message contains a set "
|
||||
@@ -2206,34 +2174,67 @@ msgctxt ""
|
||||
msgid "@Mentions and Keywords"
|
||||
msgstr "@提及 和关键词"
|
||||
|
||||
#: src/qml/ContextMenu.qml:98 src/settings/PushNotification.qml:55
|
||||
#: src/qml/ContextMenu.qml:77 src/settings/PushNotification.qml:55
|
||||
#, kde-format
|
||||
msgctxt "As in 'do not notify for any messages'"
|
||||
msgid "Off"
|
||||
msgstr "关闭"
|
||||
|
||||
#: src/qml/ContextMenu.qml:111
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "从收藏夹中移除"
|
||||
|
||||
#: src/qml/ContextMenu.qml:90
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "添加到收藏夹"
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Reprioritize"
|
||||
msgstr "恢复优先级"
|
||||
|
||||
#: src/qml/ContextMenu.qml:96 src/qml/ContextMenu.qml:202
|
||||
#, kde-format
|
||||
msgid "Deprioritize"
|
||||
msgstr "降低优先级"
|
||||
|
||||
#: src/qml/ContextMenu.qml:104
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy user's Matrix ID to Clipboard"
|
||||
msgstr "将用户的 Matrix ID 复制到剪贴板"
|
||||
|
||||
#: src/qml/ContextMenu.qml:104 src/qml/SpaceListContextMenu.qml:38
|
||||
#: src/qml/SpaceListContextMenu.qml:120
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Address to Clipboard"
|
||||
msgstr "将地址复制到剪贴板"
|
||||
|
||||
#: src/qml/ContextMenu.qml:116
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Room Settings"
|
||||
msgstr "聊天室设置"
|
||||
|
||||
#: src/qml/ContextMenu.qml:121 src/qml/ContextMenu.qml:211
|
||||
#: src/qml/ContextMenu.qml:126 src/qml/ContextMenu.qml:216
|
||||
#, kde-format
|
||||
msgid "Leave Room"
|
||||
msgstr "离开聊天室"
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Remove from Favourites"
|
||||
msgstr "移出收藏夹"
|
||||
|
||||
#: src/qml/ContextMenu.qml:182
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#, kde-format
|
||||
msgid "Add to Favourites"
|
||||
msgstr "移入收藏夹"
|
||||
|
||||
#: src/qml/ContextMenu.qml:187
|
||||
#: src/qml/ContextMenu.qml:192
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room Settings"
|
||||
@@ -2356,74 +2357,74 @@ msgctxt "@action:button"
|
||||
msgid "Ok"
|
||||
msgstr "确定"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:83
|
||||
#: src/qml/DelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgid "View Source"
|
||||
msgstr "查看源码"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:90 src/settings/ThreePIdCard.qml:66
|
||||
#: src/qml/DelegateContextMenu.qml:91 src/settings/ThreePIdCard.qml:66
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:95 src/qml/DelegateContextMenu.qml:100
|
||||
#: src/qml/FileDelegateContextMenu.qml:76
|
||||
#: src/qml/FileDelegateContextMenu.qml:81
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/DelegateContextMenu.qml:101
|
||||
#: src/qml/FileDelegateContextMenu.qml:82
|
||||
#: src/qml/FileDelegateContextMenu.qml:87
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Message"
|
||||
msgstr "移除消息"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:96 src/qml/FileDelegateContextMenu.qml:77
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:83
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this message"
|
||||
msgstr "移除此消息的原因"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:97 src/qml/FileDelegateContextMenu.qml:78
|
||||
#: src/qml/DelegateContextMenu.qml:98 src/qml/FileDelegateContextMenu.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove this message'"
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:120 src/qml/DelegateContextMenu.qml:128
|
||||
#: src/qml/DelegateContextMenu.qml:121 src/qml/DelegateContextMenu.qml:129
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"@action:button 'Report' as in 'Report this event to the administrators'"
|
||||
msgid "Report"
|
||||
msgstr "举报"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:125
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Report Message"
|
||||
msgstr "举报消息"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:126
|
||||
#: src/qml/DelegateContextMenu.qml:127
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr "举报此消息的原因"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:130
|
||||
#: src/qml/DelegateContextMenu.qml:131
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Report Message"
|
||||
msgstr "举报消息"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:140
|
||||
#: src/qml/DelegateContextMenu.qml:141
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Show User"
|
||||
msgstr "查看用户"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:188
|
||||
#: src/qml/DelegateContextMenu.qml:204
|
||||
#, kde-format
|
||||
msgid "Search for '%1'"
|
||||
msgstr "搜索 '%1'"
|
||||
|
||||
#: src/qml/DelegateContextMenu.qml:210
|
||||
#: src/qml/DelegateContextMenu.qml:226
|
||||
#, kde-format
|
||||
msgid "Configure Web Shortcuts..."
|
||||
msgstr "配置网页快捷键..."
|
||||
@@ -2618,23 +2619,25 @@ msgctxt "@info:label"
|
||||
msgid "No public rooms found"
|
||||
msgstr "未找到公共聊天室"
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:46
|
||||
#: src/qml/FileDelegateContextMenu.qml:50
|
||||
#, kde-format
|
||||
msgid "Open Externally"
|
||||
msgstr "在外部打开"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Open Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:53
|
||||
#: src/qml/FileDelegateContextMenu.qml:57
|
||||
#, kde-format
|
||||
msgid "Save As"
|
||||
msgstr "另存为"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Save Image…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:63
|
||||
#: src/qml/MessageDelegateContextMenu.qml:64
|
||||
#: src/qml/FileDelegateContextMenu.qml:66
|
||||
#, kde-format
|
||||
msgid "Copy"
|
||||
msgstr "复制"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/FileDelegateContextMenu.qml:71
|
||||
#: src/qml/FileDelegateContextMenu.qml:77
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
@@ -2784,55 +2787,55 @@ msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr "当前选择的链接"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:37
|
||||
#: src/qml/ImageEditorPage.qml:36
|
||||
#, kde-format
|
||||
msgctxt "@action:button Undo modification"
|
||||
msgid "Undo"
|
||||
msgstr "撤销"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:44
|
||||
#: src/qml/ImageEditorPage.qml:43
|
||||
#, kde-format
|
||||
msgctxt "@action:button Accept image modification"
|
||||
msgid "Accept"
|
||||
msgstr "接受"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:52
|
||||
#: src/qml/ImageEditorPage.qml:51
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Unable to save file. Check if you have the correct permission to edit the "
|
||||
"cache directory."
|
||||
msgstr "无法保存文件。请检查您是否有编辑缓存目录的正确权限。"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124
|
||||
#: src/qml/ImageEditorPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:124 src/qml/ImageEditorPage.qml:140
|
||||
#: src/qml/ImageEditorPage.qml:123 src/qml/ImageEditorPage.qml:139
|
||||
#, kde-format
|
||||
msgctxt "@action:button Crop an image"
|
||||
msgid "Crop"
|
||||
msgstr "裁剪"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:145
|
||||
#: src/qml/ImageEditorPage.qml:144
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the left"
|
||||
msgid "Rotate left"
|
||||
msgstr "旋转 (向左)"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:151
|
||||
#: src/qml/ImageEditorPage.qml:150
|
||||
#, kde-format
|
||||
msgctxt "@action:button Rotate an image to the right"
|
||||
msgid "Rotate right"
|
||||
msgstr "旋转 (向右)"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:157
|
||||
#: src/qml/ImageEditorPage.qml:156
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image vertically"
|
||||
msgid "Flip"
|
||||
msgstr "翻转"
|
||||
|
||||
#: src/qml/ImageEditorPage.qml:163
|
||||
#: src/qml/ImageEditorPage.qml:162
|
||||
#, kde-format
|
||||
msgctxt "@action:button Mirror an image horizontally"
|
||||
msgid "Mirror"
|
||||
@@ -3060,8 +3063,8 @@ msgstr "输入内容不是有效的用户 ID"
|
||||
#: src/qml/MessageDelegateContextMenu.qml:47
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu As in 'Forward this message'"
|
||||
msgid "Forward"
|
||||
msgstr "转发"
|
||||
msgid "Forward…"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:53
|
||||
#, kde-format
|
||||
@@ -3069,10 +3072,17 @@ msgctxt "@title"
|
||||
msgid "Forward Message"
|
||||
msgstr "转发消息"
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:67
|
||||
#, kde-format
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Text"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageDelegateContextMenu.qml:72
|
||||
#, kde-format
|
||||
msgid "Copy Link"
|
||||
msgstr "复制链接"
|
||||
msgctxt "@action:inmenu"
|
||||
msgid "Copy Message Link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/MessageSourceSheet.qml:46
|
||||
#, kde-format
|
||||
@@ -3166,7 +3176,7 @@ msgctxt "@action:button"
|
||||
msgid "Join"
|
||||
msgstr "加入"
|
||||
|
||||
#: src/qml/RecommendedSpaceDialog.qml:61
|
||||
#: src/qml/RecommendedSpaceDialog.qml:63
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Ignore"
|
||||
@@ -3200,18 +3210,18 @@ msgstr "已静音的聊天室"
|
||||
msgid "Configure room"
|
||||
msgstr "配置聊天室"
|
||||
|
||||
#: src/qml/RoomDrawer.qml:111 src/qml/RoomDrawerPage.qml:45
|
||||
#: src/qml/RoomDrawer.qml:114 src/qml/RoomDrawerPage.qml:45
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Room settings"
|
||||
msgstr "聊天室设置"
|
||||
|
||||
#: src/qml/RoomDrawer.qml:160 src/qml/RoomDrawerPage.qml:85
|
||||
#: src/qml/RoomDrawer.qml:163 src/qml/RoomDrawerPage.qml:85
|
||||
#, kde-format
|
||||
msgid "Information"
|
||||
msgstr "信息"
|
||||
|
||||
#: src/qml/RoomDrawer.qml:165 src/qml/RoomDrawerPage.qml:90
|
||||
#: src/qml/RoomDrawer.qml:168 src/qml/RoomDrawerPage.qml:90
|
||||
#, kde-format
|
||||
msgid "Media"
|
||||
msgstr "媒体"
|
||||
@@ -3225,7 +3235,7 @@ msgstr "空间成员"
|
||||
#: src/qml/RoomInformation.qml:42
|
||||
#, kde-format
|
||||
msgctxt "@action:title"
|
||||
msgid "Room information"
|
||||
msgid "Room Information"
|
||||
msgstr "聊天室信息"
|
||||
|
||||
#: src/qml/RoomInformation.qml:70
|
||||
@@ -3266,6 +3276,12 @@ msgstr ""
|
||||
msgid "Show locations for this room"
|
||||
msgstr "显示此聊天室的位置"
|
||||
|
||||
#: src/qml/RoomInformation.qml:136 src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Leave this space"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomInformation.qml:136
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
@@ -3336,7 +3352,7 @@ msgctxt "@action:title"
|
||||
msgid "Room Media"
|
||||
msgstr "聊天室媒体"
|
||||
|
||||
#: src/qml/RoomPage.qml:93
|
||||
#: src/qml/RoomPage.qml:92
|
||||
#, kde-format
|
||||
msgid "NeoChat is offline. Please check your network connection."
|
||||
msgstr "NeoChat 处于离线状态。请检查您的网络连接。"
|
||||
@@ -3572,12 +3588,6 @@ msgctxt "@button"
|
||||
msgid "Invite user to space"
|
||||
msgstr "邀请用户加入空间"
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:65
|
||||
#, kde-format
|
||||
msgctxt "@button"
|
||||
msgid "Leave the space"
|
||||
msgstr "离开空间"
|
||||
|
||||
#: src/qml/SpaceHomePage.qml:76 src/qml/SpaceListContextMenu.qml:48
|
||||
#: src/qml/SpaceListContextMenu.qml:130
|
||||
#, kde-format
|
||||
@@ -3630,7 +3640,7 @@ msgid "%2 is typing"
|
||||
msgid_plural "%2 are typing"
|
||||
msgstr[0] "%2 正在输入"
|
||||
|
||||
#: src/qml/UnlockSSSSDialog.qml:17
|
||||
#: src/qml/UnlockSSSSDialog.qml:16
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Load your encrypted messages"
|
||||
@@ -3720,129 +3730,129 @@ msgctxt "@title:menu Account details dialog"
|
||||
msgid "Account Details"
|
||||
msgstr "账户详情"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Unignore this user"
|
||||
msgstr "取消忽略此用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:109
|
||||
#: src/qml/UserDetailDialog.qml:111
|
||||
#, kde-format
|
||||
msgid "Ignore this user"
|
||||
msgstr "忽略此用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:122
|
||||
#: src/qml/UserDetailDialog.qml:124
|
||||
#, kde-format
|
||||
msgid "Kick this user"
|
||||
msgstr "踢出此用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:126 src/qml/UserDetailDialog.qml:131
|
||||
#: src/qml/UserDetailDialog.qml:128 src/qml/UserDetailDialog.qml:133
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Kick User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:127
|
||||
#: src/qml/UserDetailDialog.qml:129
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for kicking this user"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:128
|
||||
#: src/qml/UserDetailDialog.qml:130
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Kick' as in 'Kick this user from the room'"
|
||||
msgid "Kick"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:147
|
||||
#: src/qml/UserDetailDialog.qml:149
|
||||
#, kde-format
|
||||
msgid "Invite this user"
|
||||
msgstr "邀请此用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:160
|
||||
#: src/qml/UserDetailDialog.qml:162
|
||||
#, kde-format
|
||||
msgid "Ban this user"
|
||||
msgstr "封禁此用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:165 src/qml/UserDetailDialog.qml:170
|
||||
#: src/qml/UserDetailDialog.qml:167 src/qml/UserDetailDialog.qml:172
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Ban User"
|
||||
msgstr "封禁用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:166
|
||||
#: src/qml/UserDetailDialog.qml:168
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for banning this user"
|
||||
msgstr "封禁此用户的原因"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:167
|
||||
#: src/qml/UserDetailDialog.qml:169
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Ban' as in 'Ban this user'"
|
||||
msgid "Ban"
|
||||
msgstr "封禁"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:185
|
||||
#: src/qml/UserDetailDialog.qml:187
|
||||
#, kde-format
|
||||
msgid "Unban this user"
|
||||
msgstr "解封此用户"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:198
|
||||
#: src/qml/UserDetailDialog.qml:200
|
||||
#, kde-format
|
||||
msgid "Set user power level"
|
||||
msgstr "设置用户权力等级"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:223
|
||||
#: src/qml/UserDetailDialog.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Remove recent messages by this user"
|
||||
msgstr "移除此用户最近的消息"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:228
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#, kde-format
|
||||
msgctxt "@title:dialog"
|
||||
msgid "Remove Messages"
|
||||
msgstr "移除消息"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:229
|
||||
#: src/qml/UserDetailDialog.qml:231
|
||||
#, kde-format
|
||||
msgctxt "@info:placeholder"
|
||||
msgid "Reason for removing this user's recent messages"
|
||||
msgstr "移除此用户最近消息的原因"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:230
|
||||
#: src/qml/UserDetailDialog.qml:232
|
||||
#, kde-format
|
||||
msgctxt "@action:button 'Remove' as in 'Remove these messages'"
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:233
|
||||
#: src/qml/UserDetailDialog.qml:235
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Remove Messages"
|
||||
msgstr "移除消息"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgctxt "%1 is the name of the user."
|
||||
msgid "Chat with %1"
|
||||
msgstr "与 %1 聊天"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:247
|
||||
#: src/qml/UserDetailDialog.qml:249
|
||||
#, kde-format
|
||||
msgid "Invite to private chat"
|
||||
msgstr "邀请到私人聊天"
|
||||
|
||||
#: src/qml/UserDetailDialog.qml:258
|
||||
#: src/qml/UserDetailDialog.qml:260
|
||||
#, kde-format
|
||||
msgid "Copy link"
|
||||
msgstr "复制链接"
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#: src/qml/UserInfo.qml:92
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr "切换用户"
|
||||
|
||||
#: src/qml/UserInfo.qml:100
|
||||
#: src/qml/UserInfo.qml:101
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr "打开设置"
|
||||
@@ -4063,7 +4073,7 @@ msgstr "继续"
|
||||
msgid "Working"
|
||||
msgstr "正在处理"
|
||||
|
||||
#: src/roommanager.cpp:146
|
||||
#: src/roommanager.cpp:145
|
||||
#, kde-format
|
||||
msgid "Malformed or empty Matrix id<br />%1 is not a correct Matrix identifier"
|
||||
msgstr ""
|
||||
@@ -4088,126 +4098,126 @@ msgstr ""
|
||||
msgid "Edit Account"
|
||||
msgstr "编辑账户"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:61
|
||||
#: src/settings/AccountEditorPage.qml:62
|
||||
#, kde-format
|
||||
msgid "Upload new avatar"
|
||||
msgstr "上传新头像"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:78
|
||||
#: src/settings/AccountEditorPage.qml:79
|
||||
#, kde-format
|
||||
msgid "Remove current avatar"
|
||||
msgstr "移除当前头像"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:101
|
||||
#: src/settings/AccountEditorPage.qml:102
|
||||
#, kde-format
|
||||
msgid "User Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:106
|
||||
#: src/settings/AccountEditorPage.qml:107
|
||||
#, kde-format
|
||||
msgid "Display Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:112
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Label:"
|
||||
msgstr "标签:"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:113
|
||||
#: src/settings/AccountEditorPage.qml:114
|
||||
#, kde-format
|
||||
msgid "Work"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:118
|
||||
#: src/settings/AccountEditorPage.qml:119
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:135
|
||||
#: src/settings/AccountEditorPage.qml:191
|
||||
#: src/settings/AccountEditorPage.qml:137
|
||||
#: src/settings/AccountEditorPage.qml:193
|
||||
#: src/settings/EmoticonEditorPage.qml:108 src/settings/RoomGeneralPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Save"
|
||||
msgstr "保存"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:157
|
||||
#: src/settings/AccountEditorPage.qml:159
|
||||
#, kde-format
|
||||
msgid "Your server doesn't support changing your password"
|
||||
msgstr "您的服务器不支持更改您的密码"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:164
|
||||
#: src/settings/AccountEditorPage.qml:166
|
||||
#, kde-format
|
||||
msgid "Current Password:"
|
||||
msgstr "当前密码:"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:171
|
||||
#: src/settings/AccountEditorPage.qml:173
|
||||
#, kde-format
|
||||
msgid "New Password:"
|
||||
msgstr "新密码:"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:178
|
||||
#: src/settings/AccountEditorPage.qml:180
|
||||
#, kde-format
|
||||
msgid "Confirm new Password:"
|
||||
msgstr "确认新密码:"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:183
|
||||
#: src/settings/AccountEditorPage.qml:185
|
||||
#, kde-format
|
||||
msgid "Passwords don't match"
|
||||
msgstr "密码不匹配"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:198
|
||||
#: src/settings/AccountEditorPage.qml:200
|
||||
#, kde-format
|
||||
msgid "Passwords do not match"
|
||||
msgstr "密码不匹配"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:205
|
||||
#: src/settings/AccountEditorPage.qml:207
|
||||
#, kde-format
|
||||
msgid "Email Addresses"
|
||||
msgstr "电子邮件地址"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:211
|
||||
#: src/settings/AccountEditorPage.qml:213
|
||||
#, kde-format
|
||||
msgid "Phone Numbers"
|
||||
msgstr "电话号码"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:216
|
||||
#: src/settings/AccountEditorPage.qml:218
|
||||
#, kde-format
|
||||
msgid "Identity Server"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:225
|
||||
#: src/settings/AccountEditorPage.qml:227
|
||||
#, kde-format
|
||||
msgid "Server Information"
|
||||
msgstr "服务器信息"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:229
|
||||
#: src/settings/AccountEditorPage.qml:231
|
||||
#, kde-format
|
||||
msgid "Homeserver url"
|
||||
msgstr "主服务器 URL"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:250
|
||||
#: src/settings/AccountEditorPage.qml:252
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Account Management"
|
||||
msgstr "账户管理"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:255
|
||||
#: src/settings/AccountEditorPage.qml:257
|
||||
#, kde-format
|
||||
msgid "Deactivate Account"
|
||||
msgstr "停用账户"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:271
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Password changed successfully"
|
||||
msgstr "密码修改成功"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:273
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#, kde-format
|
||||
msgid "Wrong password entered"
|
||||
msgstr "输入的密码错误"
|
||||
|
||||
#: src/settings/AccountEditorPage.qml:275
|
||||
#: src/settings/AccountEditorPage.qml:277
|
||||
#, kde-format
|
||||
msgid "Unknown problem while trying to change password"
|
||||
msgstr "尝试更改密码时出现未知问题"
|
||||
@@ -4218,7 +4228,7 @@ msgstr "尝试更改密码时出现未知问题"
|
||||
msgid "Accounts"
|
||||
msgstr "账户"
|
||||
|
||||
#: src/settings/AccountsPage.qml:117
|
||||
#: src/settings/AccountsPage.qml:118
|
||||
#, kde-format
|
||||
msgid "Add Account"
|
||||
msgstr "添加账户"
|
||||
@@ -4448,7 +4458,7 @@ msgctxt "@title"
|
||||
msgid "Stickers & Emojis"
|
||||
msgstr "贴纸和表情"
|
||||
|
||||
#: src/settings/ExportKeysDialog.qml:18
|
||||
#: src/settings/ExportKeysDialog.qml:17
|
||||
#: src/settings/NeoChatSecurityPage.qml:107
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -4597,7 +4607,7 @@ msgctxt "@action:button"
|
||||
msgid "Unignore this user"
|
||||
msgstr "取消忽略此用户"
|
||||
|
||||
#: src/settings/ImportKeysDialog.qml:22 src/settings/NeoChatSecurityPage.qml:84
|
||||
#: src/settings/ImportKeysDialog.qml:21 src/settings/NeoChatSecurityPage.qml:84
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Import Keys"
|
||||
@@ -4761,7 +4771,7 @@ msgctxt "@action:button"
|
||||
msgid "Reset all configuration values to their default"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/NeoChatSecurityPage.qml:19
|
||||
#: src/settings/NeoChatSecurityPage.qml:18
|
||||
#: src/settings/NeoChatSettingsView.qml:51
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -43,6 +43,9 @@ QQC2.ItemDelegate {
|
||||
anchors.fill: parent
|
||||
visible: root.emoji.startsWith("mxc") || root.isImage
|
||||
source: visible ? root.emoji : ""
|
||||
fillMode: Image.PreserveAspectFit
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ QQC2.ScrollView {
|
||||
|
||||
Kirigami.PlaceholderMessage {
|
||||
anchors.centerIn: parent
|
||||
icon.name: root.stickers ? "stickers" : "preferences-desktop-emoticons"
|
||||
text: root.stickers ? i18n("No stickers") : i18n("No emojis")
|
||||
visible: emojis.count === 0
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: root.categoryIconSize + QQC2.ScrollBar.horizontal.height
|
||||
QQC2.ScrollBar.horizontal.height: QQC2.ScrollBar.horizontal.visible ? QQC2.ScrollBar.horizontal.implicitHeight : 0
|
||||
visible: categories.count !== 0
|
||||
|
||||
ListView {
|
||||
id: categories
|
||||
@@ -201,8 +202,13 @@ ColumnLayout {
|
||||
width: root.categoryIconSize
|
||||
height: width
|
||||
checked: stickerModel.packIndex === model.index
|
||||
padding: Kirigami.Units.largeSpacing
|
||||
|
||||
contentItem: Image {
|
||||
source: model.avatarUrl
|
||||
fillMode: Image.PreserveAspectFit
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
}
|
||||
QQC2.ToolTip.text: model.name
|
||||
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
|
||||
|
||||
@@ -13,6 +13,7 @@ LoginStep {
|
||||
id: root
|
||||
|
||||
FormCard.FormTextDelegate {
|
||||
textItem.wrapMode: Text.Wrap
|
||||
text: i18n("Please wait while your messages are loaded from the server. This might take a little while.")
|
||||
}
|
||||
FormCard.AbstractFormDelegate {
|
||||
|
||||
@@ -7,6 +7,7 @@ import QtQuick.Layouts
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.formcard as FormCard
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
|
||||
import org.kde.neochat
|
||||
import org.kde.neochat.settings
|
||||
@@ -90,11 +91,27 @@ Kirigami.Page {
|
||||
id: loadedAccounts
|
||||
model: AccountRegistry
|
||||
delegate: FormCard.FormButtonDelegate {
|
||||
text: model.userId
|
||||
id: delegate
|
||||
|
||||
required property string userId
|
||||
required property NeoChatConnection connection
|
||||
|
||||
text: QmlUtils.escapeString(connection.localUser.displayName)
|
||||
description: connection.localUser.id
|
||||
leadingPadding: Kirigami.Units.largeSpacing
|
||||
|
||||
onClicked: {
|
||||
Controller.activeConnection = model.connection;
|
||||
Controller.activeConnection = delegate.connection;
|
||||
root.connectionChosen();
|
||||
}
|
||||
leading: KirigamiComponents.Avatar {
|
||||
id: avatar
|
||||
name: delegate.text
|
||||
// Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl.
|
||||
source: delegate.connection.localUser.avatarUrl.toString().length > 0 ? delegate.connection.makeMediaUrl(delegate.connection.localUser.avatarUrl) : ""
|
||||
implicitWidth: Kirigami.Units.iconSizes.medium
|
||||
implicitHeight: Kirigami.Units.iconSizes.medium
|
||||
}
|
||||
}
|
||||
}
|
||||
Repeater {
|
||||
|
||||
@@ -600,14 +600,19 @@ bool ActionsModel::handleQuickEditAction(NeoChatRoom *room, const QString &messa
|
||||
} else {
|
||||
originalString = event->plainBody();
|
||||
}
|
||||
QString replaceId = event->id();
|
||||
const auto eventRelation = event->relatesTo();
|
||||
if (eventRelation && eventRelation->type == "m.replace"_L1) {
|
||||
replaceId = eventRelation->eventId;
|
||||
}
|
||||
if (flags == "/g"_L1) {
|
||||
room->postHtmlMessage(messageText, originalString.replace(regex, replacement), event->msgtype(), {}, event->id());
|
||||
room->postHtmlMessage(messageText, originalString.replace(regex, replacement), event->msgtype(), {}, replaceId);
|
||||
} else {
|
||||
room->postHtmlMessage(messageText,
|
||||
originalString.replace(originalString.indexOf(regex), regex.size(), replacement),
|
||||
event->msgtype(),
|
||||
{},
|
||||
event->id());
|
||||
replaceId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -85,13 +85,7 @@ QVariant CompletionModel::data(const QModelIndex &index, int role) const
|
||||
return m_filterModel->data(filterIndex, RoomListModel::CanonicalAliasRole);
|
||||
}
|
||||
if (role == IconNameRole) {
|
||||
auto mediaId = m_filterModel->data(filterIndex, RoomListModel::AvatarRole).toString();
|
||||
if (mediaId.isEmpty()) {
|
||||
return QVariant();
|
||||
}
|
||||
if (m_room) {
|
||||
return m_room->connection()->makeMediaUrl(QUrl(QStringLiteral("mxc://%1").arg(mediaId)));
|
||||
}
|
||||
return m_filterModel->data(filterIndex, RoomListModel::AvatarRole).toString();
|
||||
}
|
||||
}
|
||||
if (m_autoCompletionType == Emoji) {
|
||||
|
||||
@@ -588,15 +588,22 @@ QList<MessageComponent> MessageContentModel::componentsForType(MessageComponentT
|
||||
case MessageComponentType::Video: {
|
||||
if (!event.first->is<StickerEvent>()) {
|
||||
const auto roomMessageEvent = eventCast<const Quotient::RoomMessageEvent>(event.first);
|
||||
QList<MessageComponent> components;
|
||||
components += MessageComponent{type, QString(), {}};
|
||||
auto body = EventHandler::rawMessageBody(*roomMessageEvent);
|
||||
components += TextHandler().textComponents(body,
|
||||
EventHandler::messageBodyInputFormat(*roomMessageEvent),
|
||||
m_room,
|
||||
roomMessageEvent,
|
||||
roomMessageEvent->isReplaced());
|
||||
return components;
|
||||
const auto fileContent = roomMessageEvent->get<EventContent::FileContentBase>();
|
||||
if (fileContent != nullptr) {
|
||||
const auto fileInfo = fileContent->commonInfo();
|
||||
const auto body = EventHandler::rawMessageBody(*roomMessageEvent);
|
||||
// Do not attach the description to the image, if it's the same as the original filename.
|
||||
if (fileInfo.originalName != body) {
|
||||
QList<MessageComponent> components;
|
||||
components += MessageComponent{type, QString(), {}};
|
||||
components += TextHandler().textComponents(body,
|
||||
EventHandler::messageBodyInputFormat(*roomMessageEvent),
|
||||
m_room,
|
||||
roomMessageEvent,
|
||||
roomMessageEvent->isReplaced());
|
||||
return components;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -212,7 +212,7 @@ QVariant RoomListModel::data(const QModelIndex &index, int role) const
|
||||
return room->displayName().toHtmlEscaped();
|
||||
}
|
||||
if (role == AvatarRole) {
|
||||
return room->avatarMediaId();
|
||||
return room->avatarMediaUrl();
|
||||
}
|
||||
if (role == CanonicalAliasRole) {
|
||||
return room->canonicalAlias();
|
||||
|
||||
@@ -324,7 +324,7 @@ QVariant RoomTreeModel::data(const QModelIndex &index, int role) const
|
||||
return room->displayName();
|
||||
}
|
||||
if (role == AvatarRole) {
|
||||
return room->avatarMediaId();
|
||||
return room->avatarMediaUrl();
|
||||
}
|
||||
if (role == CanonicalAliasRole) {
|
||||
return room->canonicalAlias();
|
||||
|
||||
@@ -261,7 +261,7 @@ Action=Popup
|
||||
Name=Share
|
||||
Name[ar]=شارك
|
||||
Name[ca]=Compartició
|
||||
Name[ca@valencia]=Compartició
|
||||
Name[ca@valencia]=Compartiu
|
||||
Name[cs]=Sdílet
|
||||
Name[de]=Teilen
|
||||
Name[el]=Κοινοποίηση
|
||||
|
||||
@@ -431,9 +431,9 @@ QDateTime NeoChatRoom::lastActiveTime()
|
||||
return messageEvents().rbegin()->get()->originTimestamp();
|
||||
}
|
||||
|
||||
QString NeoChatRoom::avatarMediaId() const
|
||||
QUrl NeoChatRoom::avatarMediaUrl() const
|
||||
{
|
||||
if (const auto avatar = Room::avatarMediaId(); !avatar.isEmpty()) {
|
||||
if (const auto avatar = Room::avatarUrl(); !avatar.isEmpty()) {
|
||||
return avatar;
|
||||
}
|
||||
|
||||
@@ -441,7 +441,7 @@ QString NeoChatRoom::avatarMediaId() const
|
||||
const auto directChatMembers = this->directChatMembers();
|
||||
for (const auto member : directChatMembers) {
|
||||
if (member != localMember()) {
|
||||
return member.avatarMediaId();
|
||||
return member.avatarUrl();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@ class NeoChatRoom : public Quotient::Room
|
||||
Q_PROPERTY(bool readMarkerLoaded READ readMarkerLoaded NOTIFY readMarkerLoadedChanged)
|
||||
|
||||
/**
|
||||
* @brief The avatar image to be used for the room.
|
||||
* @brief The avatar image to be used for the room, as a mxc:// URL.
|
||||
*/
|
||||
Q_PROPERTY(QString avatarMediaId READ avatarMediaId NOTIFY avatarChanged STORED false)
|
||||
Q_PROPERTY(QUrl avatarMediaUrl READ avatarMediaUrl NOTIFY avatarChanged STORED false)
|
||||
|
||||
/**
|
||||
* @brief Get a RoomMember object for the other person in a direct chat.
|
||||
@@ -320,7 +320,7 @@ public:
|
||||
|
||||
[[nodiscard]] bool readMarkerLoaded() const;
|
||||
|
||||
[[nodiscard]] QString avatarMediaId() const;
|
||||
[[nodiscard]] QUrl avatarMediaUrl() const;
|
||||
|
||||
NeochatRoomMember *directChatRemoteMember();
|
||||
|
||||
|
||||
@@ -153,15 +153,6 @@ QColor NeochatRoomMember::color() const
|
||||
return m_room->member(m_memberId).color();
|
||||
}
|
||||
|
||||
QString NeochatRoomMember::avatarMediaId() const
|
||||
{
|
||||
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
return m_room->member(m_memberId).avatarMediaId();
|
||||
}
|
||||
|
||||
QUrl NeochatRoomMember::avatarUrl() const
|
||||
{
|
||||
if (m_room == nullptr || m_memberId.isEmpty()) {
|
||||
|
||||
@@ -70,7 +70,6 @@ public:
|
||||
int hue() const;
|
||||
qreal hueF() const;
|
||||
QColor color() const;
|
||||
QString avatarMediaId() const;
|
||||
QUrl avatarUrl() const;
|
||||
|
||||
Q_SIGNALS:
|
||||
|
||||
@@ -27,7 +27,8 @@ QQC2.Menu {
|
||||
text: "https://matrix.to/#/" + root.connection.localUser.id,
|
||||
title: root.connection.localUser.displayName,
|
||||
subtitle: root.connection.localUser.id,
|
||||
avatarSource: root.connection.makeMediaUrl(root.connection.localUser.avatarUrl)
|
||||
// Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl.
|
||||
avatarSource: root.connection.localUser.avatarUrl.toString().length > 0 ? root.connection.makeMediaUrl(root.connection.localUser.avatarUrl) : ""
|
||||
});
|
||||
if (typeof root.closeDialog === "function") {
|
||||
root.closeDialog();
|
||||
|
||||
@@ -125,7 +125,7 @@ Kirigami.Dialog {
|
||||
width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||
height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing
|
||||
}
|
||||
source: userDelegate.connection.localUser.avatarMediaId ? userDelegate.connection.makeMediaUrl("mxc://" + userDelegate.connection.localUser.avatarMediaId) : ""
|
||||
source: userDelegate.connection.localUser.avatarUrl.toString().length > 0 ? userDelegate.connection.makeMediaUrl(userDelegate.connection.localUser.avatarUrl) : ""
|
||||
name: userDelegate.connection.localUser.displayName ?? userDelegate.connection.localUser.id
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ QQC2.ItemDelegate {
|
||||
required property NeoChatRoom currentRoom
|
||||
required property bool categoryVisible
|
||||
required property string filterText
|
||||
required property string avatar
|
||||
required property url avatar
|
||||
required property string displayName
|
||||
|
||||
topPadding: Kirigami.Units.largeSpacing
|
||||
@@ -32,7 +32,7 @@ QQC2.ItemDelegate {
|
||||
visible: root.categoryVisible || filterText.length > 0
|
||||
|
||||
contentItem: KirigamiComponents.Avatar {
|
||||
source: root.avatar ? root.currentRoom.connection.makeMediaUrl("mxc://" + root.avatar) : ""
|
||||
source: root.avatar
|
||||
name: root.displayName
|
||||
|
||||
sourceSize {
|
||||
|
||||
@@ -27,38 +27,17 @@ Loader {
|
||||
Component {
|
||||
id: regularMenu
|
||||
QQC2.Menu {
|
||||
QQC2.MenuItem {
|
||||
text: room.isFavourite ? i18n("Remove from Favorites") : i18n("Add to Favorites")
|
||||
icon.name: room.isFavourite ? "bookmark-remove" : "bookmark-new"
|
||||
onTriggered: room.isFavourite ? room.removeTag("m.favourite") : room.addTag("m.favourite", 1.0)
|
||||
}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: room.isLowPriority ? i18n("Reprioritize") : i18n("Deprioritize")
|
||||
icon.name: room.isLowPriority ? "arrow-up-symbolic" : "arrow-down-symbolic"
|
||||
onTriggered: room.isLowPriority ? room.removeTag("m.lowpriority") : room.addTag("m.lowpriority", 1.0)
|
||||
}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: i18n("Mark as Read")
|
||||
icon.name: "checkmark"
|
||||
enabled: room.notificationCount > 0
|
||||
onTriggered: room.markAllMessagesAsRead()
|
||||
}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: room.isDirectChat() ? i18nc("@action:inmenu", "Copy user's Matrix ID to Clipboard") : i18nc("@action:inmenu", "Copy Address to Clipboard")
|
||||
icon.name: "edit-copy"
|
||||
onTriggered: if (room.isDirectChat()) {
|
||||
Clipboard.saveText(room.directChatRemoteMember.id);
|
||||
} else if (room.canonicalAlias.length === 0) {
|
||||
Clipboard.saveText(room.id);
|
||||
} else {
|
||||
Clipboard.saveText(room.canonicalAlias);
|
||||
}
|
||||
}
|
||||
QQC2.MenuSeparator {}
|
||||
|
||||
QQC2.Menu {
|
||||
title: i18n("Notification State")
|
||||
title: i18nc("@action:inmenu", "Notifications")
|
||||
icon.name: "notifications"
|
||||
|
||||
QQC2.MenuItem {
|
||||
@@ -107,6 +86,32 @@ Loader {
|
||||
}
|
||||
}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: room.isFavourite ? i18n("Remove from Favorites") : i18n("Add to Favorites")
|
||||
icon.name: room.isFavourite ? "rating" : "rating-unrated"
|
||||
onTriggered: room.isFavourite ? room.removeTag("m.favourite") : room.addTag("m.favourite", 1.0)
|
||||
}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: room.isLowPriority ? i18n("Reprioritize") : i18n("Deprioritize")
|
||||
icon.name: room.isLowPriority ? "arrow-up-symbolic" : "arrow-down-symbolic"
|
||||
onTriggered: room.isLowPriority ? room.removeTag("m.lowpriority") : room.addTag("m.lowpriority", 1.0)
|
||||
}
|
||||
|
||||
QQC2.MenuSeparator {}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: room.isDirectChat() ? i18nc("@action:inmenu", "Copy user's Matrix ID to Clipboard") : i18nc("@action:inmenu", "Copy Address to Clipboard")
|
||||
icon.name: "edit-copy"
|
||||
onTriggered: if (room.isDirectChat()) {
|
||||
Clipboard.saveText(room.directChatRemoteMember.id);
|
||||
} else if (room.canonicalAlias.length === 0) {
|
||||
Clipboard.saveText(room.id);
|
||||
} else {
|
||||
Clipboard.saveText(room.canonicalAlias);
|
||||
}
|
||||
}
|
||||
|
||||
QQC2.MenuItem {
|
||||
text: i18nc("@action:inmenu", "Room Settings")
|
||||
icon.name: 'settings-configure-symbolic'
|
||||
@@ -163,7 +168,7 @@ Loader {
|
||||
spacing: Kirigami.Units.largeSpacing
|
||||
KirigamiComponents.Avatar {
|
||||
id: avatar
|
||||
source: room.avatarMediaId ? root.connection.makeMediaUrl("mxc://" + room.avatarMediaId) : ""
|
||||
source: room.avatarMediaUrl
|
||||
name: room.displayName
|
||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
|
||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls as QQC2
|
||||
import QtQuick.Layouts
|
||||
import Qt.labs.qmlmodels
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.components as KirigamiComponents
|
||||
import org.kde.kirigamiaddons.formcard as FormCard
|
||||
@@ -177,10 +178,25 @@ Loader {
|
||||
|
||||
Repeater {
|
||||
model: root.actions
|
||||
QQC2.MenuItem {
|
||||
visible: modelData.visible
|
||||
action: modelData
|
||||
onClicked: root.item.close()
|
||||
DelegateChooser {
|
||||
role: "separator"
|
||||
DelegateChoice {
|
||||
roleValue: true
|
||||
|
||||
QQC2.MenuSeparator {
|
||||
visible: modelData.visible
|
||||
}
|
||||
}
|
||||
|
||||
DelegateChoice {
|
||||
roleValue: false
|
||||
|
||||
QQC2.MenuItem {
|
||||
visible: modelData.visible
|
||||
action: modelData
|
||||
onClicked: root.item.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
QQC2.Menu {
|
||||
@@ -341,15 +357,30 @@ Loader {
|
||||
id: listViewAction
|
||||
model: root.actions
|
||||
|
||||
FormCard.FormButtonDelegate {
|
||||
icon.name: modelData.icon.name
|
||||
icon.color: modelData.icon.color ?? undefined
|
||||
enabled: modelData.enabled
|
||||
visible: modelData.visible
|
||||
text: modelData.text
|
||||
onClicked: {
|
||||
modelData.triggered();
|
||||
root.item.close();
|
||||
DelegateChooser {
|
||||
role: "separator"
|
||||
DelegateChoice {
|
||||
roleValue: true
|
||||
|
||||
FormCard.FormDelegateSeparator {
|
||||
visible: modelData.visible
|
||||
}
|
||||
}
|
||||
|
||||
DelegateChoice {
|
||||
roleValue: false
|
||||
|
||||
FormCard.FormButtonDelegate {
|
||||
icon.name: modelData.icon.name
|
||||
icon.color: modelData.icon.color ?? undefined
|
||||
enabled: modelData.enabled
|
||||
visible: modelData.visible
|
||||
text: modelData.text
|
||||
onClicked: {
|
||||
modelData.triggered();
|
||||
root.item.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ ColumnLayout {
|
||||
|
||||
contentItem: KirigamiComponents.Avatar {
|
||||
name: root.room ? root.room.displayName : ""
|
||||
source: root.room ? root.room.connection.makeMediaUrl("mxc://" + root.room.avatarMediaId) : ""
|
||||
source: root.room ? root.room.avatarMediaUrl : ""
|
||||
|
||||
Rectangle {
|
||||
visible: root.room.usesEncryption
|
||||
|
||||
@@ -42,30 +42,36 @@ DelegateContextMenu {
|
||||
* Each action will be instantiated as a single line in the menu.
|
||||
*/
|
||||
property list<Kirigami.Action> actions: [
|
||||
DelegateContextMenu.ReplyMessageAction {},
|
||||
Kirigami.Action {
|
||||
text: i18n("Open Externally")
|
||||
separator: true
|
||||
},
|
||||
Kirigami.Action {
|
||||
text: i18nc("@action:inmenu", "Open Image")
|
||||
icon.name: "document-open"
|
||||
onTriggered: {
|
||||
currentRoom.openEventMediaExternally(root.eventId);
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
text: i18n("Save As")
|
||||
text: i18nc("@action:inmenu", "Save Image…")
|
||||
icon.name: "document-save"
|
||||
onTriggered: {
|
||||
var dialog = saveAsDialog.createObject(QQC2.Overlay.overlay);
|
||||
dialog.selectedFile = currentRoom.fileNameToDownload(eventId);
|
||||
dialog.open();
|
||||
dialog.currentFile = dialog.folder + "/" + currentRoom.fileNameToDownload(eventId);
|
||||
}
|
||||
},
|
||||
DelegateContextMenu.ReplyMessageAction {},
|
||||
Kirigami.Action {
|
||||
text: i18n("Copy")
|
||||
text: i18nc("@action:inmenu", "Copy Image")
|
||||
icon.name: "edit-copy"
|
||||
onTriggered: {
|
||||
currentRoom.copyEventMedia(root.eventId);
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
separator: true
|
||||
},
|
||||
Kirigami.Action {
|
||||
visible: author.id === currentRoom.localMember.id || currentRoom.canSendState("redact")
|
||||
text: i18n("Remove")
|
||||
@@ -88,7 +94,13 @@ DelegateContextMenu {
|
||||
},
|
||||
DelegateContextMenu.ReportMessageAction {},
|
||||
DelegateContextMenu.ShowUserAction {},
|
||||
DelegateContextMenu.ViewSourceAction {}
|
||||
Kirigami.Action {
|
||||
separator: true
|
||||
visible: viewSourceAction.visible
|
||||
},
|
||||
DelegateContextMenu.ViewSourceAction {
|
||||
id: viewSourceAction
|
||||
}
|
||||
]
|
||||
|
||||
/**
|
||||
|
||||
@@ -102,7 +102,7 @@ Labs.MenuBar {
|
||||
}
|
||||
Labs.MenuItem {
|
||||
text: i18nc("menu", "About KDE")
|
||||
onTriggered: pageStack.pushDialogLayer(Qt.createComponent("org.kde.kirigamiaddons.formcard", "AboutKDE"))
|
||||
onTriggered: pageStack.pushDialogLayer(Qt.createComponent("org.kde.kirigamiaddons.formcard", "AboutKDEPage"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ ColumnLayout {
|
||||
Layout.preferredHeight: Kirigami.Units.iconSizes.large
|
||||
|
||||
name: root.room ? root.room.displayName : ""
|
||||
source: root.room ? root.room.connection.makeMediaUrl("mxc://" + root.room.avatarMediaId) : ""
|
||||
source: root.room ? root.room.avatarMediaUrl : ""
|
||||
|
||||
Rectangle {
|
||||
visible: room.usesEncryption
|
||||
@@ -75,6 +75,7 @@ ColumnLayout {
|
||||
textFormat: TextEdit.PlainText
|
||||
visible: root.room && root.room.canonicalAlias
|
||||
text: root.room && root.room.canonicalAlias ? root.room.canonicalAlias : ""
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
}
|
||||
}
|
||||
QQC2.AbstractButton {
|
||||
@@ -92,7 +93,7 @@ ColumnLayout {
|
||||
text: barcode.content,
|
||||
title: root.room ? root.room.displayName : "",
|
||||
subtitle: root.room ? root.room.id : "",
|
||||
avatarSource: root.room && root.room.avatarMediaId ? root.room.connection.makeMediaUrl("mxc://" + root.room.avatarMediaId) : ""
|
||||
avatarSource: root.room ? root.room.avatarMediaUrl : ""
|
||||
});
|
||||
map.open();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import QtQuick.Layouts
|
||||
import QtCore as Core
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
import org.kde.kquickimageeditor as KQuickImageEditor
|
||||
|
||||
Kirigami.Page {
|
||||
@@ -168,10 +167,11 @@ Kirigami.Page {
|
||||
}
|
||||
}
|
||||
|
||||
footer: KirigamiComponents.Banner {
|
||||
footer: Kirigami.InlineMessage {
|
||||
id: msg
|
||||
type: Kirigami.MessageType.Error
|
||||
showCloseButton: true
|
||||
visible: false
|
||||
position: Kirigami.InlineMessage.Position.Header
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ DelegateContextMenu {
|
||||
},
|
||||
DelegateContextMenu.ReplyMessageAction {},
|
||||
Kirigami.Action {
|
||||
text: i18nc("@action:inmenu As in 'Forward this message'", "Forward")
|
||||
text: i18nc("@action:inmenu As in 'Forward this message'", "Forward…")
|
||||
icon.name: "mail-forward-symbolic"
|
||||
onTriggered: {
|
||||
let page = applicationWindow().pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'ChooseRoomDialog'), {
|
||||
@@ -59,21 +59,33 @@ DelegateContextMenu {
|
||||
});
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
separator: true
|
||||
},
|
||||
DelegateContextMenu.RemoveMessageAction {},
|
||||
Kirigami.Action {
|
||||
text: i18n("Copy")
|
||||
text: i18nc("@action:inmenu", "Copy Text")
|
||||
icon.name: "edit-copy"
|
||||
onTriggered: Clipboard.saveText(root.selectedText.length > 0 ? root.selectedText : root.plainText)
|
||||
},
|
||||
DelegateContextMenu.ReportMessageAction {},
|
||||
DelegateContextMenu.ShowUserAction {},
|
||||
DelegateContextMenu.ViewSourceAction {},
|
||||
Kirigami.Action {
|
||||
text: i18n("Copy Link")
|
||||
text: i18nc("@action:inmenu", "Copy Message Link")
|
||||
icon.name: "edit-copy"
|
||||
onTriggered: {
|
||||
Clipboard.saveText("https://matrix.to/#/" + currentRoom.id + "/" + root.eventId);
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
separator: true
|
||||
},
|
||||
DelegateContextMenu.ReportMessageAction {},
|
||||
DelegateContextMenu.ShowUserAction {},
|
||||
Kirigami.Action {
|
||||
separator: true
|
||||
visible: viewSourceAction.visible
|
||||
},
|
||||
DelegateContextMenu.ViewSourceAction {
|
||||
id: viewSourceAction
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -110,8 +110,8 @@ Components.AlbumMaximizeComponent {
|
||||
|
||||
onSaveItem: {
|
||||
var dialog = saveAsDialog.createObject(QQC2.Overlay.overlay);
|
||||
dialog.selectedFile = currentRoom.fileNameToDownload(root.currentEventId);
|
||||
dialog.open();
|
||||
dialog.currentFile = dialog.folder + "/" + currentRoom.fileNameToDownload(root.currentEventId);
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
||||
@@ -12,7 +12,7 @@ Components.AbstractMaximizeComponent {
|
||||
|
||||
required property string text
|
||||
property color avatarColor
|
||||
required property string avatarSource
|
||||
required property url avatarSource
|
||||
|
||||
onOpened: forceActiveFocus()
|
||||
|
||||
|
||||
@@ -30,9 +30,9 @@ Kirigami.Dialog {
|
||||
FormCard.AbstractFormDelegate {
|
||||
background: null
|
||||
contentItem: RowLayout {
|
||||
spacing: Kirigami.Units.largeSpacing * 4
|
||||
spacing: Kirigami.Units.largeSpacing
|
||||
Avatar {
|
||||
source: root.connection.makeMediaUrl(SpaceHierarchyCache.recommendedSpaceAvatar)
|
||||
source: SpaceHierarchyCache.recommendedSpaceAvatar.toString().length > 0 ? root.connection.makeMediaUrl(SpaceHierarchyCache.recommendedSpaceAvatar) : 0
|
||||
name: SpaceHierarchyCache.recommendedSpaceDisplayName
|
||||
}
|
||||
ColumnLayout {
|
||||
@@ -51,6 +51,7 @@ Kirigami.Dialog {
|
||||
FormCard.FormDelegateSeparator {}
|
||||
FormCard.FormButtonDelegate {
|
||||
text: i18nc("@action:button", "Join")
|
||||
icon.name: "list-add-symbolic"
|
||||
onClicked: {
|
||||
SpaceHierarchyCache.recommendedSpaceHidden = true;
|
||||
RoomManager.resolveResource(SpaceHierarchyCache.recommendedSpaceId, "join");
|
||||
@@ -58,6 +59,7 @@ Kirigami.Dialog {
|
||||
}
|
||||
}
|
||||
FormCard.FormButtonDelegate {
|
||||
icon.name: "mail-thread-ignored-symbolic"
|
||||
text: i18nc("@action:button", "Ignore")
|
||||
onClicked: {
|
||||
SpaceHierarchyCache.recommendedSpaceHidden = true;
|
||||
|
||||
@@ -21,7 +21,7 @@ Delegates.RoundedItemDelegate {
|
||||
required property bool hasHighlightNotifications
|
||||
required property NeoChatRoom currentRoom
|
||||
required property NeoChatConnection connection
|
||||
required property string avatar
|
||||
required property url avatar
|
||||
required property string subtitleText
|
||||
required property string displayName
|
||||
|
||||
@@ -55,7 +55,7 @@ Delegates.RoundedItemDelegate {
|
||||
spacing: Kirigami.Units.largeSpacing
|
||||
|
||||
AvatarNotification {
|
||||
source: root.avatar ? root.connection.makeMediaUrl("mxc://" + root.avatar) : ""
|
||||
source: root.avatar
|
||||
name: root.displayName
|
||||
visible: NeoChatConfig.showAvatarInRoomDrawer
|
||||
implicitHeight: Kirigami.Units.gridUnit + (NeoChatConfig.compactRoomList ? 0 : Kirigami.Units.largeSpacing * 2)
|
||||
|
||||
@@ -99,8 +99,11 @@ Kirigami.OverlayDrawer {
|
||||
Layout.preferredHeight: pageStack.globalToolBar.preferredHeight
|
||||
|
||||
contentItem: RowLayout {
|
||||
spacing: 0
|
||||
|
||||
Kirigami.Heading {
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Kirigami.Units.largeSpacing
|
||||
text: drawerItemLoader.item ? drawerItemLoader.item.title : ""
|
||||
}
|
||||
|
||||
|
||||
@@ -39,13 +39,16 @@ QQC2.ScrollView {
|
||||
/**
|
||||
* @brief The title that should be displayed for this component if available.
|
||||
*/
|
||||
readonly property string title: root.room.isSpace ? i18nc("@action:title", "Space Members") : i18nc("@action:title", "Room information")
|
||||
readonly property string title: root.room.isSpace ? i18nc("@action:title", "Space Members") : i18nc("@action:title", "Room Information")
|
||||
|
||||
// HACK: Hide unnecessary horizontal scrollbar (https://bugreports.qt.io/browse/QTBUG-83890)
|
||||
QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff
|
||||
|
||||
ListView {
|
||||
id: userList
|
||||
topMargin: Kirigami.Units.largeSpacing
|
||||
leftMargin: Kirigami.Units.largeSpacing
|
||||
rightMargin: Kirigami.Units.largeSpacing
|
||||
header: ColumnLayout {
|
||||
id: columnLayout
|
||||
|
||||
@@ -57,7 +60,6 @@ QQC2.ScrollView {
|
||||
Loader {
|
||||
active: true
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing
|
||||
visible: !root.room.isSpace
|
||||
sourceComponent: root.room.isDirectChat() ? directChatDrawerHeader : groupChatDrawerHeader
|
||||
onItemChanged: if (item) {
|
||||
@@ -133,7 +135,7 @@ QQC2.ScrollView {
|
||||
Delegates.RoundedItemDelegate {
|
||||
id: leaveButton
|
||||
icon.name: "arrow-left-symbolic"
|
||||
text: i18nc("@action:button", "Leave this room")
|
||||
text: root.room.isSpace ? i18nc("@action:button", "Leave this space") : i18nc("@action:button", "Leave this room")
|
||||
activeFocusOnTab: true
|
||||
|
||||
Layout.fillWidth: true
|
||||
@@ -209,7 +211,7 @@ QQC2.ScrollView {
|
||||
section.delegate: Kirigami.ListSectionHeader {
|
||||
required property string section
|
||||
|
||||
width: ListView.view.width
|
||||
width: ListView.view.width - ListView.view.leftMargin - ListView.view.rightMargin
|
||||
text: section
|
||||
}
|
||||
|
||||
@@ -219,11 +221,12 @@ QQC2.ScrollView {
|
||||
required property int index
|
||||
required property string name
|
||||
required property string userId
|
||||
required property string avatar
|
||||
required property url avatar
|
||||
required property int powerLevel
|
||||
required property string powerLevelString
|
||||
|
||||
implicitHeight: Kirigami.Units.gridUnit * 2
|
||||
width: ListView.view.width - ListView.view.leftMargin - ListView.view.rightMargin
|
||||
|
||||
text: name
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import QtQuick.Controls as QQC2
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Window
|
||||
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kitemmodels
|
||||
|
||||
@@ -99,11 +98,12 @@ Kirigami.Page {
|
||||
}
|
||||
}
|
||||
|
||||
header: KirigamiComponents.Banner {
|
||||
header: Kirigami.InlineMessage {
|
||||
id: banner
|
||||
|
||||
showCloseButton: true
|
||||
visible: false
|
||||
position: Kirigami.InlineMessage.Position.Header
|
||||
}
|
||||
|
||||
Loader {
|
||||
|
||||
@@ -182,7 +182,7 @@ QQC2.Control {
|
||||
id: spaceDelegate
|
||||
|
||||
required property string displayName
|
||||
required property string avatar
|
||||
required property url avatar
|
||||
required property string roomId
|
||||
required property var currentRoom
|
||||
|
||||
@@ -191,7 +191,7 @@ QQC2.Control {
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
|
||||
text: displayName
|
||||
source: avatar ? root.connection.makeMediaUrl("mxc://" + avatar) : ""
|
||||
source: avatar
|
||||
|
||||
notificationCount: spaceDelegate.currentRoom.childrenNotificationCount
|
||||
notificationHighlight: spaceDelegate.currentRoom.childrenHaveHighlightNotifications
|
||||
@@ -219,7 +219,7 @@ QQC2.Control {
|
||||
visible: SpaceHierarchyCache.recommendedSpaceId.length > 0 && !root.connection.room(SpaceHierarchyCache.recommendedSpaceId) && !SpaceHierarchyCache.recommendedSpaceHidden
|
||||
|
||||
text: i18nc("Join <name of a space>", "Join %1", SpaceHierarchyCache.recommendedSpaceDisplayName)
|
||||
source: SpaceHierarchyCache.recommendedSpaceAvatar.length > 0 ? root.connection.makeMediaUrl(SpaceHierarchyCache.recommendedSpaceAvatar) : ""
|
||||
source: SpaceHierarchyCache.recommendedSpaceAvatar.toString().length > 0 ? root.connection.makeMediaUrl(SpaceHierarchyCache.recommendedSpaceAvatar) : ""
|
||||
onSelected: {
|
||||
recommendedSpaceDialogComponent.createObject(QQC2.Overlay.overlay, {
|
||||
connection: root.connection
|
||||
|
||||
@@ -62,7 +62,7 @@ ColumnLayout {
|
||||
onClicked: _private.createRoom(root.currentRoom.id)
|
||||
}
|
||||
QQC2.Button {
|
||||
text: i18nc("@button", "Leave the space")
|
||||
text: i18nc("@action:button", "Leave this space")
|
||||
icon.name: "go-previous"
|
||||
onClicked: RoomManager.leaveRoom(root.currentRoom)
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ Loader {
|
||||
|
||||
KirigamiComponents.Avatar {
|
||||
id: avatar
|
||||
source: room.avatarMediaId ? root.room.connection.makeMediaUrl("mxc://" + room.avatarMediaId) : ""
|
||||
source: room.avatarMediaUrl
|
||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
|
||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
|
||||
Layout.alignment: Qt.AlignTop
|
||||
|
||||
@@ -7,7 +7,6 @@ import QtQuick.Layouts
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.formcard as FormCard
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
|
||||
import org.kde.neochat
|
||||
|
||||
@@ -20,11 +19,12 @@ FormCard.FormCardPage {
|
||||
leftPadding: 0
|
||||
rightPadding: 0
|
||||
|
||||
header: KirigamiComponents.Banner {
|
||||
header: Kirigami.InlineMessage {
|
||||
id: banner
|
||||
showCloseButton: true
|
||||
visible: false
|
||||
type: Kirigami.MessageType.Error
|
||||
position: Kirigami.InlineMessage.Position.Header
|
||||
}
|
||||
|
||||
property SSSSHandler ssssHandler: SSSSHandler {
|
||||
|
||||
@@ -75,6 +75,8 @@ Kirigami.Dialog {
|
||||
QQC2.AbstractButton {
|
||||
Layout.minimumHeight: avatar.height * 0.75
|
||||
Layout.maximumHeight: avatar.height * 1.5
|
||||
Layout.maximumWidth: avatar.height * 1.5
|
||||
|
||||
contentItem: Barcode {
|
||||
id: barcode
|
||||
barcodeType: Barcode.QRCode
|
||||
|
||||
@@ -37,14 +37,15 @@ RowLayout {
|
||||
}
|
||||
KirigamiComponents.AvatarButton {
|
||||
id: accountButton
|
||||
readonly property string mediaId: root.connection.localUser.avatarMediaId
|
||||
readonly property url avatarUrl: root.connection.localUser.avatarUrl
|
||||
|
||||
Layout.preferredWidth: Kirigami.Units.iconSizes.medium
|
||||
Layout.preferredHeight: Kirigami.Units.iconSizes.medium
|
||||
Layout.leftMargin: Kirigami.Units.largeSpacing
|
||||
|
||||
text: i18n("Edit this account")
|
||||
source: mediaId ? root.connection.makeMediaUrl("mxc://" + mediaId) : ""
|
||||
// Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl.
|
||||
source: avatarUrl.toString().length > 0 ? root.connection.makeMediaUrl(avatarUrl) : ""
|
||||
name: root.connection.localUser.displayName
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
@@ -134,16 +134,15 @@ void RoomManager::activateUserModel()
|
||||
m_userListModel->activate();
|
||||
}
|
||||
|
||||
UriResolveResult RoomManager::resolveResource(const Uri &uri)
|
||||
{
|
||||
return UriResolverBase::visitResource(m_connection, uri);
|
||||
}
|
||||
|
||||
void RoomManager::resolveResource(const QString &idOrUri, const QString &action)
|
||||
{
|
||||
Uri uri{idOrUri};
|
||||
resolveResource(Uri{idOrUri}, action);
|
||||
}
|
||||
|
||||
void RoomManager::resolveResource(Uri uri, const QString &action)
|
||||
{
|
||||
if (!uri.isValid()) {
|
||||
Q_EMIT showMessage(MessageType::Warning, i18n("Malformed or empty Matrix id<br />%1 is not a correct Matrix identifier", idOrUri));
|
||||
Q_EMIT showMessage(MessageType::Warning, i18n("Malformed or empty Matrix id<br />%1 is not a correct Matrix identifier", uri.toDisplayString()));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -237,7 +236,6 @@ void RoomManager::loadInitialRoom()
|
||||
}
|
||||
|
||||
if (m_isMobile) {
|
||||
// We still need to remember the last space on mobile
|
||||
setCurrentSpace(m_lastSpaceConfig.readEntry(m_connection->userId(), QString()), false);
|
||||
// We don't want to open a room on startup on mobile
|
||||
return;
|
||||
@@ -260,6 +258,7 @@ void RoomManager::openRoomForActiveConnection()
|
||||
setCurrentSpace({}, false);
|
||||
return;
|
||||
}
|
||||
setCurrentSpace(m_lastSpaceConfig.readEntry(m_connection->userId(), QString()), false);
|
||||
const auto &lastRoom = m_lastRoomConfig.readEntry(m_connection->userId(), QString());
|
||||
if (lastRoom.isEmpty() || !m_connection->room(lastRoom)) {
|
||||
setCurrentRoom({});
|
||||
@@ -267,7 +266,6 @@ void RoomManager::openRoomForActiveConnection()
|
||||
m_currentRoom = nullptr;
|
||||
resolveResource(lastRoom);
|
||||
}
|
||||
setCurrentSpace(m_lastSpaceConfig.readEntry(m_connection->userId(), QString()), false);
|
||||
}
|
||||
|
||||
UriResolveResult RoomManager::visitUser(User *user, const QString &action)
|
||||
@@ -315,7 +313,9 @@ void RoomManager::visitRoom(Room *r, const QString &eventId)
|
||||
|
||||
// It's important that we compare room *objects* here, not just room *ids*, since we need to deal with the object changing when going invite -> joined
|
||||
if (m_currentRoom && m_currentRoom == room) {
|
||||
Q_EMIT goToEvent(eventId);
|
||||
if (!eventId.isEmpty()) {
|
||||
Q_EMIT goToEvent(eventId);
|
||||
}
|
||||
} else {
|
||||
setCurrentRoom(room->id());
|
||||
}
|
||||
|
||||
@@ -168,16 +168,6 @@ public:
|
||||
UserListModel *userListModel() const;
|
||||
Q_INVOKABLE void activateUserModel();
|
||||
|
||||
/**
|
||||
* @brief Resolve the given URI resource.
|
||||
*
|
||||
* @note It's actually Quotient::UriResolverBase::visitResource() but with Q_INVOKABLE
|
||||
* and the connection grabbed from RoomManager.
|
||||
*
|
||||
* @sa Quotient::UriResolverBase::visitResource()
|
||||
*/
|
||||
Q_INVOKABLE UriResolveResult resolveResource(const Uri &uri);
|
||||
|
||||
/**
|
||||
* @brief Resolve the given resource.
|
||||
*
|
||||
@@ -188,6 +178,16 @@ public:
|
||||
*/
|
||||
Q_INVOKABLE void resolveResource(const QString &idOrUri, const QString &action = {});
|
||||
|
||||
/**
|
||||
* @brief Resolve the given resource URI.
|
||||
*
|
||||
* @note It's actually Quotient::UriResolverBase::visitResource() but with Q_INVOKABLE
|
||||
* and the connection grabbed from RoomManager.
|
||||
*
|
||||
* @sa Quotient::UriResolverBase::visitResource()
|
||||
*/
|
||||
Q_INVOKABLE void resolveResource(Uri uri, const QString &action = {});
|
||||
|
||||
bool hasOpenRoom() const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -34,7 +34,8 @@ FormCard.FormCardPage {
|
||||
|
||||
padding: 0
|
||||
|
||||
source: root.connection && root.connection.localUser.avatarMediaId ? root.connection.makeMediaUrl("mxc://" + root.connection.localUser.avatarMediaId) : ""
|
||||
// Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl.
|
||||
source: root.connection && (root.connection.localUser.avatarUrl.toString().length > 0 ? root.connection.makeMediaUrl(root.connection.localUser.avatarUrl) : "")
|
||||
name: root.connection.localUser.displayName
|
||||
|
||||
onClicked: {
|
||||
@@ -122,7 +123,8 @@ FormCard.FormCardPage {
|
||||
text: "https://matrix.to/#/" + root.connection.localUser.id,
|
||||
title: root.connection.localUser.displayName,
|
||||
subtitle: root.connection.localUser.id,
|
||||
avatarSource: root.connection.makeMediaUrl(root.connection.localUser.avatarUrl)
|
||||
// Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl.
|
||||
avatarSource: root.connection && (root.connection.localUser.avatarUrl.toString().length > 0 ? root.connection.makeMediaUrl(root.connection.localUser.avatarUrl) : "")
|
||||
});
|
||||
if (typeof root.closeDialog === "function") {
|
||||
root.closeDialog();
|
||||
|
||||
@@ -53,7 +53,8 @@ FormCard.FormCardPage {
|
||||
contentItem: RowLayout {
|
||||
KirigamiComponents.Avatar {
|
||||
name: accountDelegate.connection.localUser.displayName
|
||||
source: accountDelegate.connection.localUser.avatarMediaId ? accountDelegate.connection.makeMediaUrl("mxc://" + accountDelegate.connection.localUser.avatarMediaId) : ""
|
||||
// Note: User::avatarUrl does not set user_id, and thus cannot be used directly here. Hence the makeMediaUrl.
|
||||
source: accountDelegate.connection.localUser.avatarUrl.toString().length > 0 ? accountDelegate.connection.makeMediaUrl(accountDelegate.connection.localUser.avatarUrl) : ""
|
||||
|
||||
Layout.rightMargin: Kirigami.Units.largeSpacing
|
||||
implicitWidth: Kirigami.Units.iconSizes.medium
|
||||
|
||||
@@ -8,7 +8,6 @@ import QtQuick.Dialogs
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.formcard as FormCard
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
|
||||
import org.kde.neochat
|
||||
|
||||
@@ -19,11 +18,12 @@ FormCard.FormCardPage {
|
||||
|
||||
required property NeoChatConnection connection
|
||||
|
||||
header: KirigamiComponents.Banner {
|
||||
header: Kirigami.InlineMessage {
|
||||
id: banner
|
||||
showCloseButton: true
|
||||
visible: false
|
||||
type: Kirigami.MessageType.Error
|
||||
position: Kirigami.InlineMessage.Position.Header
|
||||
}
|
||||
|
||||
FormCard.FormCard {
|
||||
|
||||
@@ -23,7 +23,7 @@ FormCard.FormCardPage {
|
||||
}
|
||||
|
||||
FormCard.FormCard {
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing * 4
|
||||
FormCard.FormCheckDelegate {
|
||||
text: i18n("Enable notifications for this account")
|
||||
description: i18n("Whether push notifications are generated by your Matrix server")
|
||||
|
||||
@@ -8,7 +8,6 @@ import QtQuick.Layouts
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.formcard as FormCard
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
|
||||
import org.kde.neochat
|
||||
|
||||
@@ -21,11 +20,12 @@ FormCard.FormCardPage {
|
||||
|
||||
title: i18nc("@title", "Import Keys")
|
||||
|
||||
header: KirigamiComponents.Banner {
|
||||
header: Kirigami.InlineMessage {
|
||||
id: banner
|
||||
showCloseButton: true
|
||||
visible: false
|
||||
type: Kirigami.MessageType.Error
|
||||
position: Kirigami.InlineMessage.Position.Header
|
||||
}
|
||||
|
||||
FormCard.FormCard {
|
||||
|
||||
@@ -7,7 +7,6 @@ import QtQuick.Layouts
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.formcard as FormCard
|
||||
import org.kde.kirigamiaddons.labs.components as KirigamiComponents
|
||||
|
||||
import org.kde.neochat
|
||||
|
||||
@@ -18,15 +17,16 @@ FormCard.FormCardPage {
|
||||
|
||||
title: i18nc("@title", "Security & Safety")
|
||||
|
||||
header: KirigamiComponents.Banner {
|
||||
header: Kirigami.InlineMessage {
|
||||
id: banner
|
||||
showCloseButton: true
|
||||
visible: false
|
||||
type: Kirigami.MessageType.Error
|
||||
position: Kirigami.InlineMessage.Position.Header
|
||||
}
|
||||
|
||||
FormCard.FormCard {
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing * 4
|
||||
FormCard.FormButtonDelegate {
|
||||
id: ignoredUsersDelegate
|
||||
text: i18nc("@action:button", "Ignored Users")
|
||||
|
||||
@@ -20,7 +20,7 @@ KirigamiSettings.ConfigurationView {
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "general"
|
||||
text: i18n("General")
|
||||
icon.name: "org.kde.neochat"
|
||||
icon.name: "org.kde.neochat.tray"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "NeoChatGeneralPage")
|
||||
initialProperties: () => {
|
||||
return {
|
||||
@@ -31,13 +31,13 @@ KirigamiSettings.ConfigurationView {
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "appearance"
|
||||
text: i18n("Appearance")
|
||||
icon.name: "preferences-desktop-theme-global"
|
||||
icon.name: "preferences-desktop-theme-global-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "AppearanceSettingsPage")
|
||||
},
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "notifications"
|
||||
text: i18n("Notifications")
|
||||
icon.name: "preferences-desktop-notification"
|
||||
icon.name: "preferences-desktop-notification-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "GlobalNotificationsPage")
|
||||
initialProperties: () => {
|
||||
return {
|
||||
@@ -49,7 +49,7 @@ KirigamiSettings.ConfigurationView {
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "security"
|
||||
text: i18nc("@title", "Security & Safety")
|
||||
icon.name: "preferences-security"
|
||||
icon.name: "preferences-security-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "NeoChatSecurityPage")
|
||||
initialProperties: () => {
|
||||
return {
|
||||
@@ -61,14 +61,14 @@ KirigamiSettings.ConfigurationView {
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "accounts"
|
||||
text: i18n("Accounts")
|
||||
icon.name: "preferences-system-users"
|
||||
icon.name: "preferences-system-users-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "AccountsPage")
|
||||
visible: root.connection !== null
|
||||
},
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "emoticons"
|
||||
text: i18n("Stickers & Emojis")
|
||||
icon.name: "preferences-desktop-emoticons"
|
||||
icon.name: "preferences-desktop-emoticons-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "EmoticonsPage")
|
||||
initialProperties: () => {
|
||||
return {
|
||||
@@ -81,13 +81,13 @@ KirigamiSettings.ConfigurationView {
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "networkProxy"
|
||||
text: i18n("Network Proxy")
|
||||
icon.name: "network-connect"
|
||||
icon.name: "network-connect-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "NetworkProxyPage")
|
||||
},
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "devices"
|
||||
text: i18n("Devices")
|
||||
icon.name: "computer"
|
||||
icon.name: "computer-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.neochat.settings", "DevicesPage")
|
||||
initialProperties: () => {
|
||||
return {
|
||||
@@ -99,15 +99,15 @@ KirigamiSettings.ConfigurationView {
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "aboutNeochat"
|
||||
text: i18n("About NeoChat")
|
||||
icon.name: "help-about"
|
||||
icon.name: "help-about-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.kirigamiaddons.formcard", "AboutPage")
|
||||
category: i18nc("@title:group", "About")
|
||||
},
|
||||
KirigamiSettings.ConfigurationModule {
|
||||
moduleId: "aboutKDE"
|
||||
text: i18n("About KDE")
|
||||
icon.name: "kde"
|
||||
page: () => Qt.createComponent("org.kde.kirigamiaddons.formcard", "AboutKDE")
|
||||
icon.name: "kde-symbolic"
|
||||
page: () => Qt.createComponent("org.kde.kirigamiaddons.formcard", "AboutKDEPage")
|
||||
category: i18nc("@title:group", "About")
|
||||
}
|
||||
]
|
||||
|
||||
@@ -16,7 +16,7 @@ FormCard.FormCardPage {
|
||||
property bool proxyConfigChanged: false
|
||||
|
||||
FormCard.FormCard {
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing * 4
|
||||
|
||||
FormCard.FormRadioDelegate {
|
||||
id: systemDefault
|
||||
|
||||
@@ -169,7 +169,7 @@ FormCard.FormCardPage {
|
||||
id: userListItem
|
||||
|
||||
required property string userId
|
||||
required property string avatar
|
||||
required property url avatar
|
||||
required property string name
|
||||
required property int powerLevel
|
||||
required property string powerLevelString
|
||||
@@ -180,7 +180,7 @@ FormCard.FormCardPage {
|
||||
KirigamiComponents.Avatar {
|
||||
Layout.preferredWidth: Kirigami.Units.iconSizes.medium
|
||||
Layout.preferredHeight: Kirigami.Units.iconSizes.medium
|
||||
source: userListItem.avatar ? root.room.connection.makeMediaUrl(userListItem.avatar) : ""
|
||||
source: userListItem.avatar
|
||||
name: userListItem.name
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ FormCard.FormCardPage {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.topMargin: Kirigami.Units.gridUnit
|
||||
name: room.name
|
||||
source: room.avatarMediaId ? root.connection.makeMediaUrl("mxc://" + room.avatarMediaId) : ""
|
||||
source: room.avatarMediaUrl
|
||||
implicitWidth: Kirigami.Units.iconSizes.enormous
|
||||
implicitHeight: Kirigami.Units.iconSizes.enormous
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "texthandler.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFontMetrics>
|
||||
#include <QGuiApplication>
|
||||
#include <QStringLiteral>
|
||||
#include <QTextBlock>
|
||||
@@ -34,7 +35,8 @@ static const QHash<QString, QStringList> allowedAttributes = {
|
||||
{QStringLiteral("font"), {QStringLiteral("data-mx-bg-color"), QStringLiteral("data-mx-color"), QStringLiteral("color")}},
|
||||
{QStringLiteral("span"), {QStringLiteral("data-mx-bg-color"), QStringLiteral("data-mx-color"), QStringLiteral("data-mx-spoiler")}},
|
||||
{QStringLiteral("a"), {QStringLiteral("name"), QStringLiteral("target"), QStringLiteral("href")}},
|
||||
{QStringLiteral("img"), {QStringLiteral("width"), QStringLiteral("height"), QStringLiteral("alt"), QStringLiteral("title"), QStringLiteral("src")}},
|
||||
{QStringLiteral("img"),
|
||||
{QStringLiteral("style"), QStringLiteral("width"), QStringLiteral("height"), QStringLiteral("alt"), QStringLiteral("title"), QStringLiteral("src")}},
|
||||
{QStringLiteral("ol"), {QStringLiteral("start")}},
|
||||
{QStringLiteral("code"), {QStringLiteral("class")}}};
|
||||
static const QStringList allowedLinkSchemes = {QStringLiteral("https"),
|
||||
@@ -50,6 +52,8 @@ static const QStringList blockTags = {QStringLiteral("blockquote"),
|
||||
QStringLiteral("table"),
|
||||
QStringLiteral("pre")};
|
||||
|
||||
static const QString customEmojiStyle = QStringLiteral("vertical-align:bottom");
|
||||
|
||||
QString TextHandler::data() const
|
||||
{
|
||||
return m_data;
|
||||
@@ -131,9 +135,29 @@ TextHandler::handleRecieveRichText(Qt::TextFormat inputFormat, const NeoChatRoom
|
||||
while (i.hasNext()) {
|
||||
const QRegularExpressionMatch match = i.next();
|
||||
const QUrl mediaUrl = room->makeMediaUrl(event->id(), QUrl(QStringLiteral("mxc://") + match.captured(2) + u'/' + match.captured(3)));
|
||||
|
||||
QStringList extraAttributes = match.captured(4).split(QChar::Space);
|
||||
const bool isEmoticon = match.captured(1).contains(QStringLiteral("data-mx-emoticon"));
|
||||
|
||||
// If the image does not have an explicit width, but has a vertical-align it's most likely an emoticon.
|
||||
// We must do some pre-processing for it to show up nicely in and around text.
|
||||
if (isEmoticon) {
|
||||
// Remove any pre-existing height
|
||||
extraAttributes.removeIf([](const QString &s) {
|
||||
return s.contains(QStringLiteral("height="));
|
||||
});
|
||||
|
||||
// Make sure it's the same height as the rest of the text
|
||||
const QFontMetrics metrics(QGuiApplication::font());
|
||||
extraAttributes.append(QStringLiteral("height=\"%1\"").arg(metrics.height()));
|
||||
|
||||
// Align it properly
|
||||
extraAttributes.append(QStringLiteral("style=\"%1\"").arg(customEmojiStyle));
|
||||
}
|
||||
|
||||
m_dataBuffer.replace(match.captured(0),
|
||||
QStringLiteral("<img ") + match.captured(1) + QStringLiteral("src=\"") + mediaUrl.toString() + u'"' + match.captured(4)
|
||||
+ u'>');
|
||||
QStringLiteral("<img ") + match.captured(1) + QStringLiteral("src=\"") + mediaUrl.toString() + u'"'
|
||||
+ extraAttributes.join(QChar::Space) + u'>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -389,11 +413,13 @@ QString TextHandler::stripBlockTags(QString string, const QString &tagType) cons
|
||||
string.remove(0, string.indexOf(u'>') + 1);
|
||||
string.remove(string.indexOf(QLatin1String("</p>")), string.size());
|
||||
}
|
||||
if (!string.startsWith(u'"')) {
|
||||
string.prepend(u'"');
|
||||
// This is not a normal quotation mark but U+201C
|
||||
if (!string.startsWith(u'“')) {
|
||||
string.prepend(u'“');
|
||||
}
|
||||
if (!string.endsWith(u'"')) {
|
||||
string.append(u'"');
|
||||
// This is U+201D
|
||||
if (!string.endsWith(u'”')) {
|
||||
string.append(u'”');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -493,6 +519,12 @@ QString TextHandler::cleanAttributes(const QString &tag, const QString &tagStrin
|
||||
if (getAttributeData(nextAttribute).remove(u'"').startsWith(QStringLiteral("language-"))) {
|
||||
outputString.append(u' ' + nextAttribute);
|
||||
}
|
||||
} else if (tag == QStringLiteral("img") && getAttributeType(nextAttribute) == QStringLiteral("style")) {
|
||||
const QString attributeData = TextRegex::attributeData.match(getAttributeData(nextAttribute)).captured(1);
|
||||
// Ignore every other style attribute except for our own, which we use to align custom emoticons
|
||||
if (attributeData == customEmojiStyle) {
|
||||
outputString.append(u' ' + nextAttribute);
|
||||
}
|
||||
} else {
|
||||
outputString.append(u' ' + nextAttribute);
|
||||
}
|
||||
|
||||
@@ -72,8 +72,8 @@ ColumnLayout {
|
||||
|
||||
function saveFileAs() {
|
||||
const dialog = fileDialog.createObject(QQC2.Overlay.overlay);
|
||||
dialog.selectedFile = root.room.fileNameToDownload(root.eventId);
|
||||
dialog.open();
|
||||
dialog.currentFile = dialog.folder + "/" + root.room.fileNameToDownload(root.eventId);
|
||||
}
|
||||
|
||||
function openSavedFile() {
|
||||
|
||||
@@ -103,7 +103,7 @@ Item {
|
||||
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
source: visible ? (root?.mediaInfo.tempInfo.source ?? "") : ""
|
||||
source: visible ? (root?.mediaInfo.tempInfo?.source ?? "") : ""
|
||||
visible: _private.imageItem && _private.imageItem.status !== Image.Ready && !_private.hideImage
|
||||
}
|
||||
|
||||
@@ -184,8 +184,8 @@ Item {
|
||||
MediaSizeHelper {
|
||||
id: mediaSizeHelper
|
||||
contentMaxWidth: root.maxContentWidth
|
||||
mediaWidth: root?.mediaInfo.width ?? 0
|
||||
mediaHeight: root?.mediaInfo.height ?? 0
|
||||
mediaWidth: root?.mediaInfo.isSticker ? 256 : (root?.mediaInfo.width ?? 0)
|
||||
mediaHeight: root?.mediaInfo.isSticker ? 256 : (root?.mediaInfo.height ?? 0)
|
||||
}
|
||||
|
||||
QtObject {
|
||||
|
||||
@@ -35,7 +35,7 @@ TimelineDelegate {
|
||||
Layout.preferredHeight: Kirigami.Units.iconSizes.large
|
||||
|
||||
name: root.room ? root.room.displayName : ""
|
||||
source: root.room && root.room.avatarMediaId ? root.room.connection.makeMediaUrl("mxc://" + root.room.avatarMediaId) : ""
|
||||
source: root.room ? root.room.avatarMediaUrl : ""
|
||||
|
||||
Rectangle {
|
||||
visible: room.usesEncryption
|
||||
|
||||
Reference in New Issue
Block a user